Diplomarbeit - Groupware Competence Center
Transcription
Diplomarbeit - Groupware Competence Center
Fakultät für Wirtschaftswissenschaften Department 3 Wirtschaftsinformatik - Business Information Systems Prof. Dr. Ludwig Nastansky Warburger Str. 100 33098 Paderborn Diplomarbeit Entwicklung einer generischen Schnittstelle zum Datenaustausch zwischen Groupware-basierten Applikationen und Oce Suites am Beispiel von IBM Lotus Notes 8, PAVONE Enterprise Oce und OpenOce.org David Bergen vorgelegt bei Prof. Dr. Ludwig Nastansky Paderborn, April 2008 Eidesstattliche Erklärung Ich erkläre hiermit an Eides Statt, dass ich die vorliegende Arbeit selbstständig und ohne unerlaubte fremde Hilfe sowie ohne Benutzung anderer als der angegebenen Quellen angefertigt habe. Alle Ausführungen, die wörtlich oder sinngemäÿ übernommen worden sind, sind als solche gekennzeichnet. Die Arbeit hat, soweit mir bekannt, in gleicher oder ähnlicher Form noch keiner anderen Prüfungsbehörde vorgelegen. Paderborn, den 30. April 2008 i Inhaltsverzeichnis 1. Einleitung 1 1.1. Ziel der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. Theoretische Grundlagen 2.1. 2 2 4 Oce-Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.1. Individuelle Oce-Anwendungen . . . . . . . . . . . . . . . . . . . 8 2.1.2. Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1.3. Workow 21 2.1.4. Archivierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.2. Groupware und Groupware-basierte Anwendungen . . . . . . . . . . . . . . 25 2.3. Oce Suites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.4. Generische Schnittstelle zwischen Groupware-Systemen und Oce Suites . 31 2.5. Technische Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.5.1. Component Object Model (COM) Technologie . . . . . . . . . . . . 33 2.5.2. Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3. Konzepte zum Datenaustausch 3.1. Technische Betrachtung 36 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.1.1. Groupware-Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.1.2. Oce Suites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.2. Re-Engineering der PAVONE OceGateway Schnittstelle . . . . . . . . . . 59 3.3. Konzeptanforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 3.4. Vergleich verschiedener Konzeptansätze . . . . . . . . . . . . . . . . . . . . 70 3.5. Bewertung der Konzeptansätze 79 . . . . . . . . . . . . . . . . . . . . . . . . ii Inhaltsverzeichnis 3.6. iii Auswahl eines Konzeptes für die prototypische Implementierung 4. Prototypische Realisierung der OceGateway Schnittstelle 5. Zusammenfassung 6. Ausblick Anhang A. Eingesetzte Software Abbildungsverzeichnis Tabellenverzeichnis Listingsverzeichnis Literaturverzeichnis . . . . . . 85 86 98 100 102 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 103 105 106 107 Abkürzungsverzeichnis ACL AIX AMaViS API BSI BWL CD CLI CMS COM CSCW DCOM DIN DLL DMS DOS EE EIP Access Control List Advanced Interactive eXecutive A Mail Virus Scanner Application Programming Interface Bundesamt für Sicherheit in der Informationstechnik Betriebswirtschaft Compact Disc Common Language Infrastructure Content-Management-Systeme Component Object Model Computer Supported Cooperative Work Distributed Component Object Model Deutsches Institut für Normung e.V. Dynamic Link Library Dokumenten-Management-System Disk Operating System Enterprise Edition Enterprise Information Portal iv Inhaltsverzeichnis GPL GUI HTML HTTP HTTPS General Public Licence Graphical User Interface Hypertext Markup Language Hypertext Transfer Protocol Hypertext Transfer Protocol über Secure Sockets Layer (SSL)/Transport Layer Security (TLS) IBM IEC IDE IMAP IMAPS IP ISDN ISO IT J2EE JavaEE JDK JRE JSP JVM KDE LDAP LDAPS International Business Machines Corporation International Electrotechnical Commission Integrated Development Environment Internet Message Access Protocol Internet Message Access Protocol über SSL/TLS Internet Protocol Integrated Services Digital Network International Organization for Standardization Informationstechnik Java Platform, Enterprise Edition Java Platform, Enterprise Edition Java Development Kit Java Runtime Environment JavaServer Pages Java Virtual Machine K Desktop Environment Lightweight Directory Access Protocol Lightweight Directory Access Protocol über SSL/TLS v Inhaltsverzeichnis LGPL LS2J MAPI MCSE MIME OASIS ODBC ODF OLE OS OX PC PDF PHP PKI PIM POP RCP ROM RPC RSA RSS SDK SISSL LGNU Lesser General Public License LotusScript-to-Java Messaging Application Programming Interface Microsoft Certied Systems Engineer Multipurpose Internet Mail Extension Organization for the Advancement of Structured Information Standards Open Database Connectivity Open Document Format Object Linking and Embedding Operating System Open-Xchange Personal Computer Adobe Portable Document Format PHP: Hypertext Preprocessor Public Key Infrastructure Personal Information Manager Post Oce Protocol Rich Client Platform Read-Only Memory Remote Procedure Call Rivest, Shamir und Adelman Really Simple Syndication Software Devolopment Kit Sun Industry Standards Source License vi Inhaltsverzeichnis SLOX SMTP SMTPS SOA SOAP SQL SSL S/MIME TAR TCP TLS UDDI UDK UML UNO URI URL VAX VB VBA VoIP W3C WAP WSDL Suse Linux Openexchange Server Simple Mail Transfer Protocol Simple Mail Transfer Protocol über SSL/TLS Serviceorientierten Architektur Simple Object Access Protocol Structured Query Language Secure Sockets Layer Secure / Multipurpose Internet Mail Extension Tape File Archiver Transmission Control Protocol Transport Layer Security Universal Description, Discovery and Integration Uno Software Development Kit Unied Modeling Language Universal Network Object Uniform Resource Identier Uniform Resource Locator Virtual Address eXtension Visual Basic Visual Basic for Applications Voice over Internet Protocol (IP) World Wide Web Consortium Wireless Access Protocol Web Services Description Language vii Inhaltsverzeichnis XML Extensible Markup Language viii 1. Einleitung In den letzten 30 Jahren hat sich die Automatisierung am Büroarbeitsplatz von isolierten Textverarbeitungssystemen zu integrierten Oce-Systemen gewandelt. 1 Innova- tionsmotor war und ist immer noch das Bestreben, die Durchlaufzeiten typischer Büroprozesse, wie beispielsweise das Schreiben von Serienbriefen, die Kostenkalkulation, die Teamkoordination oder das Erstellen präsentationsfähiger Diagramme, zu verringern und dabei eine verbesserte Ergebnisqualität zu erzielen. 2 Einerseits wird die individuelle Produktivität durch Sofwarewerkzeuge, allgemein bekannt als Oce Suites, gesteigert. Anderseits wird die Gruppenarbeit durch integrierte Groupware-Systeme und WorkowManagement-Systeme eektiv unterstützt. Oce Suites bestehen aus einer Ansammlung integrierter Softwarekomponenten, die auf unterschiedliche Aufgabengebiete spezialisiert sind. Dazu können Softwarekomponenten zur Textverarbeitung, Tabellenkalkulation, Präsentationserstellung, Grakerstellung und 3 zum persönlichen Informationsmanagement zählen. Die Aufgabe von Groupware-Systeme ist hingegen die Kommunikation und Kooperation zu unterstützen, um eine eektive Koordination von Gruppenarbeit zu gewährleisten. 4 Durch einen gegenseitigen Datenaustausch zwischen Groupware-Systemen und Oce Suites erönen sich neue Möglichkeiten im Einsatz der Oce-Systeme. Zum Beispiel lassen sich wichtige Kundendaten, die sich in einer Groupware Datenbank benden, mit den Bordmitteln eines Groupware-Systems nicht präsentationsfähig aufbereiten. 1 Vgl. [Hansen und Neumann, 2005] S.326 2 Vgl. [Hansen und Neumann, 2005] S.326 3 Vgl. [Abts und Mülder, 2004] S.194 4 Vgl. [Hansen und Neumann, 2005] S.441 1 1. Einleitung 2 Doch wenn diese Daten mithilfe einer Datenaustauschlösung der Tabellenkalkulationsanwendung einer Oce Suite zur Verfügung gestellt würden, könnten die Kundendaten dort ausgewertet und in Graken visuell dargestellt werden. 1.1. Ziel der Arbeit Das Ziel dieser Arbeit ist die Entwicklung einer generischen Schnittstelle zum Datenaustausch zwischen Groupware-basierten Applikationen und Oce Suites. Dazu sollen erst einmal Groupware-Systeme und Oce Suites voneinander abgegrenzt werden, um Unterschiede und Berührungspunkte im Anwendungskontext aufzuzeigen. Das Hauptaugenmerk dieser Arbeit liegt auf der Erarbeitung von möglichen Schnittstellenkonzepten, um einen Datenaustausch zu ermöglichen. Dieses wird in Kooperation mit der PAVONE 5 AG , konkret am Beispiel ihrer Groupware-basierten Anwendung PAVONE Enterprise Oce untersucht, die eine auf dem Groupware-System Lotus Notes basierende Anwendung für das Prozess- und Informationsmanagement ist. 6 Die konzeptionelle Arbeit, wie auch die anschlieÿende prototypische Implementierung, konzentrieren sich auf die PAVONE OceGateway Schnittstelle, die in die PAVONE Enterprise Oce Anwendung integriert werden kann, um Daten mit Oce Suites auszutauschen. Dabei soll die OceGateway Schnittstelle dahingehend adaptiert werden, dass ein Datenaustausch zwischen Lotus Notes und OpenOce.org auf den beiden Betriebssystemplattformen Windows und Linux möglich ist. 1.2. Aufbau der Arbeit Zunächst erfolgt in Kapitel 2 ein Überblick über die theoretischen Grundlagen. Es wird der Kontext von Oce-Systemen im Bereich des Oce-basierten Arbeitens abgegrenzt. Eine begriiche Einordnung von Groupware und Oce Suites ermöglicht die Unterschiede und Berührungspunkte zwischen ihnen, hinsichtlich des angestrebten Datenaustausches, aufzuzeigen. Weiterhin erfolgt eine Einführung in die technischen Grundlagen der Plattform- 5 http://www.pavone.de 6 Vgl. [PAVONE, 2008a] S.7 1. Einleitung 3 Technologie COM und der Web Service Technik, die für das weitere Verständnis dieser Arbeit von Bedeutung sind. In Kapitel 3 wird erst einmal eine technische Betrachtung verschiedener GroupwareSysteme und Oce Suites gegeben. Danach folgt das Re-Engineering der PAVONE OceGateway Schnittstelle, die als Beispiel für den Datenaustausch zwischen Groupware-basierten Anwendungen und Oce Suites ausgewählt wird. Auf Basis der Ergebnisse aus dem ReEngineering der PAVONE OceGateway Schnittstelle sollen Anforderungen an das Konzept zum Datenaustausch zwischen Lotus Notes 8 und OpenOce.org deniert werden, die als Bewertungsgrundlage der verschiedenen Konzeptansätze dienen. Nach der Diskussion der Konzeptsansätze folgt die prototypische Implementierung der neuen OceGateway Schnittstelle in Kapitel 4. Die Zusammenfassung in Kapitel 5 reektiert noch einmal die wichtigsten Konzepte, Ergebnisse und Probleme. Das Kapitel 6 zeigt auf, welche Funktionalitäten noch implementiert werden müssen, um die neue OceGateway Schnittstelle marktfähig zu machen. 2. Theoretische Grundlagen [Abts und Mülder, 2004] teilen die Anwendungssoftware, wie in Abbildung 2.1 zu sehen, in betriebswirtschaftliche, technisch-wissenschaftliche, branchenbezogene und QuerschnittsAnwendungen ein. 1 Software Systemsoftware Betriebs− systeme Datenbank− systeme Netzwerk− software Abbildung 2.1.: Aufgliederung Anwendungssoftware Software− Entwicklungs− systeme der Technisch/ Wissenschaft− liche Software Betriebs− wirtschaftliche Software Software in System- und Branchen− Software Querschnitts− Software Anwendungssoftware ([Abts und Mülder, 2004] S.62) Querschnittssoftware kann branchenübergreifend eingesetzt werden, da sich damit einfache und allgemeine betriebliche Aufgaben lösen lassen. 2 Betriebswirtschaftliche Anwen- dungssoftware wird im kaufmännischen Umfeld, wie beispielsweise zur Unterstützung von Finanz- und Rechnungswesen, der Personalwirtschaft oder der Materialwirtschaft, eingesetzt. 3 Technisch-wissenschaftliche Anwendungssoftware kommt beispielsweise bei ma- thematischen Berechnungen, beim Lösen von statistischen Problemen, bei der Konstruktion und Entwicklung von Produkten oder zum Steuern von Produktionsverfahren und -maschinen zum Einsatz. 4 Branchensoftware trägt dagegen den speziellen Anforderungen 1 Vgl.[Abts und Mülder, 2004] S.62 2 Vgl. [Kroll, 2000] S.177 3 Vgl. [Abts und Mülder, 2004] S.63 4 Vgl. [Abts und Mülder, 2004] S.63 4 2. Theoretische Grundlagen 5 des Leistungserstellungsprozesses einzelner Branchen Rechnung. SAP 6 5 Der Softwareanbieter bietet mehrere Branchenlösungen unter anderem für Banken, der Automobilbran- 7 che oder dem Einzelhandel an. Querschnittssoftware Multimedia− systeme Wissens− managment− Systeme Abbildung 2.2.: Oce-Systeme Content− Managment Systeme Unternehmens− portale im Kontext der Office− Systeme Querschnittssoftware (Vgl. [Abts und Mülder, 2004] S.62) Oce-Systeme 8 werden, wie in Abbildung 2.2 zu sehen ist, zur speziellen Gruppe von Anwendungssoftware, nämlich der Querschnittssoftware, gezählt. Querschnittssoftware kann unabhängig von der Unternehmenshierachie oder bestimmten Benutzergruppen an betrieblichen Arbeitsplätzen eingesetzt werden. 9 Zur Querschnittssoftware zählen nach [Abts und Mülder, 2004] nicht nur Oce-Systeme, sondern auch Multimedia-Systeme, Wissensmanagement-Systeme, Unternehmensportale und Content-Management-Systeme (CMS), die nun im Folgenden, wenn nicht explizit eine andere Quelle angegeben wird, entsprechend der Ausführungen von [Abts und Mülder, 2004] näher erklärt werden. 10 Multimedia-Systeme Bei Multimedia-Systemen wird durch gleichzeitige Nutzung unterschiedlicher Medien der Wirkungsgrad der Informationsübermittlung zum Benutzer gesteigert. Dabei ist ein multimediales Informationssystem durch die computergesteuerte Erzeugung, Manipulation, Darstellung, Speicherung und Kommunikation von unabhängigen Informationen gekennzeichnet. Der Einsatz von Multimedia-Systemen in Unternehmen liegt schwerpunktmäÿig 5 Vgl. [Abts und Mülder, 2004] S.63 6 http://www.sap.com/index.epx 7 Vgl. [Hansen und Neumann, 2005] S.589 8 Eine genauere Betrachtung folgt im Abschnitt 2.1 9 Vgl. [Stahlknecht und Hasenkamp, 2002] S.331 10 Vgl. [Abts und Mülder, 2004] S.187 2. Theoretische Grundlagen 6 im Marketingbereich, beispielsweise in Form von multimedialen Produktpräsentationen in Compact Disc (CD)-Read-Only Memory (ROM)-Katalogen. Auch im Weiterbildungsbereich werden multimediale Informationssysteme eingesetzt, die die Gruppenarbeit und das Lernen durch Telekooperation und Telelernen fördern. 11 Wissensmanagement-Systeme Wissensmanagement-Systeme bieten eine computergestützte Unterstützung zur Nutzung des in einem Unternehmen und auÿerhalb des Unternehmens vorhandenen Wissens. Ziel ist das Wissen, welches als klassizierte und interpretierte Information verstanden wird, in einem systematischen Prozess zu managen. Dieser Wissensmanagementprozess besteht aus folgenden Schritten: 1. Denition von Wissenszielen 2. Wissensgewinnung durch Identizierung von relevantem Wissen 3. Wissensstrukturierung beispielsweise mit Hilfe von Schlagworten, Suchbegrien, Hyperlinks oder Ablagesystematiken 4. Wissensdarstellung zur zielgruppengenaue Aufbereitung des Wissens zum Beispiel durch Portale oder multimedialer Informationsdarstellung 5. Wissensverteilung beispielsweise durch den Einsatz von Internet, Intranet, E-Mails, Diskussionsforen, Really Simple Syndication (RSS) 12 -Feeds, Weblogs, Wikis oder Mailinglisten 6. Wissensnutzung zum Beispiel durch den Einsatz von Abfragesprachen und Suchmaschinen zur Schlagwortsuche bzw. zur Volltextsuche 7. Wissensspeicherung zum Beispiel in Datenbanksystemen 8. Wissensbewertung 11 Vgl. [Abts und Mülder, 2004] S.215-217 12 RSS bezeichnet einen Extensible Markup Language (XML)-Dateiformat, mithilfe dessen Informationen, die in Form einer Liste vorliegen, als Schlagzeilen mit kurzen Beschreibungen (RSS-Feeds) standardisiert zur Verfügung gestellt werden können. (Vgl. [Koer und Öggl, 2005] S.229) 2. Theoretische Grundlagen 7 Das Problem bei Wissensmanagement-Systemen ist die Tatsache, dass der gröÿte Teil des Wissens eines Unternehmens nicht als Schriftstück oder Dokument vorliegt und somit auch nicht informationstechnisch verarbeitet werden kann. 13 Unternehmensportale Ein Unternehmensportal wird auch als Enterprise Information Portal (EIP) bezeichnet und ist eine Webseite, die innerhalb eines Unternehmens dem Mitarbeiter Zugang zu internen und externen Informationen, Anwendungen und Diensten bietet. Der Zugang ist an den individuellen Informationsbedarf des jeweiligen Benutzers angepasst und erschlieÿt viele für die Aufgabenstellung des Benutzers typischen Anwendungen. Da ein Portal auf Internet-Technik basiert, kann der Benutzer im Normalfall von jedem beliebigen Ort aus 14 über einen Browser auf seine personalisierten Informationen zugreifen. Content-Management-Systeme CMS ermöglichen Medieninhalte, oft auch als Content bezeichnet, dezentral, arbeitsteilig und ohne Programmierkenntnisse zu erstellen, im Inter- oder Intranet zu publizieren, verändern, archivieren oder zu löschen. Dabei kann es sich bei den Medieninhalten um Texte, Bilder, Graken, Audio-Ausschnitte, Video-Sequenzen, Animationen, interaktive Elemente oder Links handeln. 15 2.1. Oce-Systeme 16 In der Literatur werden für Oce-Systeme auch die Begrie Bürosysteme mationssysteme 17 und Büroinfor- verwendet. Oce-Systeme sind Anwendungssoftware, die die fachlichen 18 Aufgabenstellungen der Anwender unterstützen. 13 Vgl. [Abts und Mülder, 2004] S.217-221 14 Vgl. [Abts und Mülder, 2004] S.222-224 15 Vgl. [Abts und Mülder, 2004] S.224-226 16 Vgl. [Abts und Mülder, 2004] S.192 17 Vgl. [Fischer et al., 2002] S.76 und [Hansen und Neumann, 2005] S.326 18 Vgl.[Kirchmer, 1996] S.13 2. Theoretische Grundlagen 8 Office−Systeme Individuelle Office− Anwendungen Kommunikation Abbildung 2.3.: Softwarewerkzeuge der Workflow Anwendungsebene Archivierung von Oce-Systemen (Vgl. [Abts und Mülder, 2004] S.62) Nach [Abts und Mülder, 2004] beinhaltet die Anwendungsebene von Oce-Systemen, wie in Abbildung 2.3 dargestellt, Softwarewerkzeuge für individuelle Oce-Anwendungen, Kommunikation, und Archivierung. 2.1.1. Individuelle Oce-Anwendungen Softwarewerkzeuge, die zur Erhöhung der individuellen Produktivität beitragen, können als individuelle Oce-Anwendungen oder als Produktivitätsanwendungen 20 werden. 19 bezeichnet Zu diesen Softwarewerkzeugen zählen Anwendungen zur Textverarbeitung, Ta- bellenkalkulation, Präsentation, Grakerstellung und zum persönlichen Informationsmanagement, wie Adressverwaltung, Terminverwaltung, Aufgabenverwaltung und Notizver- 21 waltung. Textverarbeitungsanwendung Zu den Hauptanforderungen an die Textverarbeitung gehören das Erfassen, Überarbeiten, Speichern und Drucken von Texten. Weitere typische Funktionen von Textverarbeitungsprogrammen sind nach [Hansen und Neumann, 2005]: • die Unterstützung der Texteingabe durch die Rechtschreibhilfe, die Formatspeicherung, die Tabellenbearbeitung oder den automatischen Zeilen- und Seitenumbruch 19 Vgl. [Weiss, 2002] S.103 20 Vgl. [Abts und Mülder, 2004] S.194 21 Vgl. [Abts und Mülder, 2004] S.194 2. Theoretische Grundlagen • 9 die Formatierungsmöglichkeit des Schriftbildes durch freie Auswahl der Schriftart, der Schriftgröÿe und der Schriftform • textmengenorientierte Funktionen, wie das Selektieren von Zeichen oder ganzen Textblöcken, das Suchen innerhalb des Textes oder das Erstellen von Serienbriefen • dokumentenbezogene Funktionen, wie zum Beispiel die automatische Seitennummerierung, der Einsatz von Kopf- und Fuÿzeilen, das automatische Erzeugen von Inhaltsverzeichnissen oder die Fuÿnotenbehandlung • Speicherungs- und Wiedergabefunktionen wie das Archivieren, Löschen, Umbenennen und Kopieren von Dokumenten oder die Suchmöglichkeit über mehrere Dokumente hinweg Als eine wichtige Funktion sei noch die Programmierbarkeit erwähnt, die es erlaubt, durch die Erstellung von Makros, Funktionsabläufe zu automatisieren. Tabellenkalkulationsanwendung Die Tabellenkalkulation besteht aus einer zweidimensionalen Tabelle, die aus Zellen besteht und somit Zeilen und Spalten bilden. Texte und Formeln eingegeben werden. 23 22 In den Zellen können jeweils Zahlenwerte, Die Zellen können durch die Zeilen- und Spal- tenangaben adressiert werden, sodass zwischen den Zellen mathematische Beziehungen hergestellt werden können. 24 Die Zellen können mit mathematischen Funktionen, statis- tischen Funktionen oder nanzmathematischen Funktionen, Datums- und Zeitfunktionen 25 gefüllt werden. Durch das Vorhandensein von mehreren zweidimensionalen Tabelle, die untereinander in Beziehung stehen können, lässt sich die dritte Dimension realisieren. Wie bei Textverarbeitungsprogrammen stehen mehrere Möglichkeiten zur Layoutgestaltung 26 bereit, wie beispielsweise die Schriftformatierung oder der Einsatz von Tabellenrahmen. Weiterhin besteht die Möglichkeit, Funktionsabläufe durch Makros zu automatisieren oder 22 Vgl. [Abts und Mülder, 2004] S.196 23 Vgl. [Abts und Mülder, 2004] S.196 24 Vgl. [Abts und Mülder, 2004] S.196 25 Vgl. [Abts und Mülder, 2004] S.197 26 Vgl. [Abts und Mülder, 2004] S.197 2. Theoretische Grundlagen 10 die Tabellendaten grasch auswerten zu lassen. 27 Neben zweidimensionalen Graken wie Balken-, Linien- oder Kreisdiagrammen stehen auch dreidimensionale Darstellungen zur graschen Auswertung zur Verfügung. 28 Dabei wird die Grak bei einer Wertänderung in der Tabellenkalkulation automatisch angepasst. 29 Präsentationsanwendung 30 Die Präsentationsanwendung ermöglicht das Erstellen von Folien, Dias und Handouts. Dabei wird das Einbinden von Text, Bildern, Animationen, Audio- und Videosequenzen 31 auf den Folien unterstützt. Um die Folien in einem einheitlichen Layout präsentieren zu können, kann ein Folienmaster als Layoutvorlage verwendet werden. 32 Die Übergänge zwischen den einzelnen Folien können variabel eingestellt werden und optional kann der Ablauf der Präsentation zeitgesteuert angezeigt werden. 33 Die Präsentationsfolien können am Bildschirm oder durch einen Beamer, aber auch auf ausgedruckten Overheadfolien 34 präsentiert werden. Persönliches Informationsmanagement Nach [Hansen und Neumann, 2005] zählen zum persönlichen Informationsmanagement Anwendungen zur Unterstützung der Planung und Organisation von Terminen, Aufgaben und Adressen. Zur Terminverwaltung wird ein Terminkalender eingesetzt, der es dem Benutzer ermöglicht seine Termine und Aktivitäten für einen bestimmten Tag und einer bestimmten Uhrzeit zu planen. Dabei können auch immer wiederkehrende Termine eingetragen werden. Als Vorteil gegenüber traditionellen Terminkalendern können jedoch Ereignisse deniert werden, die beispielsweise eine Stunde vor wichtigen Besprechungen eine Erinnerungsmeldung auslösen. 27 Vgl. [Abts und Mülder, 2004] S.197 28 Vgl. [Abts und Mülder, 2004] S.197 29 Vgl. [Abts und Mülder, 2004] S.197 30 Vgl. [Hansen und Neumann, 2005] S.354 31 Vgl. [Hansen und Neumann, 2005] S.356 32 Vgl. [Hansen und Neumann, 2005] S.355 33 Vgl. [Abts und Mülder, 2004] S.197 34 Vgl. [Abts und Mülder, 2004] S.197 2. Theoretische Grundlagen 11 Netzwerkfähige Terminkalender zählen zu den Softwarewerkzeugen, die die Kommunika- 35 tion unterstützen und werden im Unterabschnitt 2.1.2 behandelt. Das Ziel einer persönlichen Adressverwaltung ist die Speicherung von wichtigen Angaben zu geschäftlichen und persönlichen Kontakten. Dabei reichen die Eingabemöglichkeiten von Basisdaten wie Name, Adresse, Telefonnummer und E-Mailadresse bis hin zu Zusatzinformationen wie Spitzname oder persönlicher Webseite. Bei guten Adressverwaltungsprogrammen besteht die Möglichkeit die Kontakte zu kategorisieren und zusätzliche Kontakte durch einen Importlter aus anderen Anwendung aufzunehmen. Es können auch die eingegebenen Daten durch einen Exportlter in andere Programme eingebunden werden, um zum Beispiel ein Programm mit Adressdaten für das Erstellen von Serienbriefen zu nutzen. 36 Die Aufgabenverwaltung ermöglicht es dem Benutzer alle seine zu erledigenden Aufgaben zu managen. Die Aufgaben können mit einem bestimmten Fälligkeitszeitpunkt deniert, mit individuellen Prioritäten belegt oder bestimmten Kategorien zugeordnet werden. Es besteht die Möglichkeit die Aufgabenliste nach verschiedenen Parametern, beispielsweise der Wichtigkeit oder der Dringlichkeit, zu sortieren und dabei die schon erledigten 37 Aufgaben entweder abzuhaken, auszublenden oder ganz zu löschen. Ziel der Notizverwaltungsanwendung ist es, die Notizzettel auf dem realen Schreibtisch nachzuempnden. Der Benutzer kann seine Notizen (Memos) auf unterschiedlich gefärbten Zetteln verfassen, beliebig sortieren, nach Themen kategorisieren und den Inhalt auch 38 in andere Anwendungen hinein kopieren. Grakanwendung Bei den Anwendungen zur Grakerstellung muss zwischen pixelorientierten und vektororientierten Programmen unterschieden werden. Die pixelorientierten Programme speichern 39 Bilder als eine Folge verschiedenfarbiger Bildpunkte. Dabei deniert jeder einzelne Bild- punkt einer Pixelgrak einen Farbwert, der separat bearbeitet werden kann. 35 Vgl. [Hansen und Neumann, 2005] S.339-341 36 Vgl. [Hansen und Neumann, 2005] S.341-343 37 Vgl. [Hansen und Neumann, 2005] S.342 38 Vgl. [Hansen und Neumann, 2005] S.342-343 39 Vgl. [Hansen und Neumann, 2005] S.389 40 Vgl. [Hansen und Neumann, 2005] S.389 40 Es können 2. Theoretische Grundlagen 12 Linien, Rechtecke, Vielecke, Kreise, Kreisbögen oder Freihandguren erstellt und Farbe 41 oder Musterfüllungen eingesetzt werden. Pixelgraken eignen sich gut für Fotos mit kontinuierlichen Graustufen und Farbtönen, deshalb werden pixelorientierte Programme bevorzugt zum Nachbearbeiten von importierten Bildern eingesetzt. 42 Vektororientierte Programme speichern nicht wie pixelorientierte Programme die Grak als Muster einzelner Punkte ab, sondern es werden die Koordinaten der Führungspunkte und gestalterische Parameter für jedes Grakelement separat gespeichert. 43 Die Grakelemente, wie zum Beispiel Kreise, Rechtecke und Linien sind unabhängig voneinander positionierbar und bearbeitbar. 44 Dadurch, dass die Vektorgraken immer neu berechnet werden können, eignen sie sich sehr gut für geometrische Manipulationen (Strecken, Stauchen, Spiegeln oder Skalieren). Weiterhin können Vektorgraken platzsparender als Pixelgraken abge- 45 speichert und immer in der höchstmöglichen Auösung des Ausgabegerätes ausgegeben 46 werden. 2.1.2. Kommunikation Kommunikation bezeichnet den Austausch von Nachrichten bzw. Daten zwischen Menschen und/oder Maschinen. 47 Dabei ist eine Nachricht eine Information, die mit zusätz- lichen Angaben, wie Quelladresse, Zieladresse, Kontroll- und Prüelder erweitert wird. 48 Die Information ist also der eigendliche Inhalt der Nachricht. Informationen, die für die maschinelle Verarbeitung vorgesehen sind, werden als Daten bezeichnet. 49 Kommunikati- on lässt sich einteilen in synchroner und asynchroner Kommunikation, je nachdem ob die Kommunikationspartner zeitgleich oder zeitversetzt kommunizieren. 50 Softwarewerkzeu- ge, die die Kommunikation zwischen Kommunikationspartnern unterstützen, werden als Kommunikationsdienste bezeichnet. Dabei lassen sich die Kommunikationsdienste nach 41 Vgl. [Hansen und Neumann, 2005] S.394 42 Vgl. [Hansen und Neumann, 2005] S.394 43 Vgl. [Hansen und Neumann, 2005] S.395 44 Vgl. [Hansen und Neumann, 2005] S.395 45 zum Beispiel Bildschirm, Drucker oder Plotter 46 Vgl. [Hansen und Neumann, 2005] S.397 47 Vgl. [Berling et al., 2005] S.267 48 Vgl. [Berling et al., 2005] S.267 49 [Berling et al., 2005] S.267 50 Vgl. [Hansen und Neumann, 2005] S.411 2. Theoretische Grundlagen 13 von ihnen genutzten bzw. bearbeiteten Medien kategorisieren. Zu den Medien zählen Text, Graken bzw. Bilder, Audio und Video. Da bei einer Kommunikation mindestens zwei Partner vorhanden sein müssen, kann als Zielgruppe für Kommunikationsdienste das 51 Kontinuum von wenigen Personen bis zu vielen Personen angenommen werden. Bei der näheren Betrachtung der von Kommunikationsdiensten genutzten bzw. bearbeiteten Medien lassen sich folgende fünf Mediengruppen feststellen: nur Text , Text und Bild , nur Audio , nur Video und Text, Bild, Audio und Video . Im Folgenden werden synchrone und asynchrone Kommunikationsdienste jeweils einer der fünf Mediengruppen zugeordnet und näher erläutert. Synchrone Kommunikation Nur Text Mediengruppe: Zu dieser Mediengruppe zählen, wie in Abbildung 2.4 zu sehen, Text-Chats und elektronische Sitzungssysteme. Ein Text-Chat ist ein Client-Server-Dienst, der das unterhalten (chatten) in Echtzeit er- 52 möglicht. Dabei läuft die Kommunikation durch kurze Textnachrichten nach dem Push- 53 Verfahren ab. Durch die ständige Anzeige vom Status des Kommunikationspartners in der Kontaktliste kann jeder Teilnehmer sehen, ob der andere Kommunikationspartner online ist, gerade selbst eine Nachricht schreibt, telefonisch erreichbar ist oder nicht gestört werden möchte. 54 Dieser Dienst stellt eine spontane und schnelle Kommunikation dar. 55 Auch elektronische Sitzungssysteme basieren auf eine Client-Server Architektur, die es den Sitzungsteilnehmer erlaubt durch jeweils einen Client miteinander auf der gemeinsa- 56 men Arbeitsäche, die durch den Server verwaltet wird, zu interagieren. Diese Systeme können von Gruppen eingesetzt werden, die zur gleichen Zeit am gleichen Ort beschäftigt sind. 57 Einige Systeme erlauben auch eine räumlich verteilte Sitzung, wobei diese spezielle Art der elektronischen Sitzungssysteme auch zum Kommunikationsdienst der elektroni- 51 Vgl. [Abts und Mülder, 2004] S.194 52 Vgl. [Hansen und Neumann, 2005] S.438 53 Vgl. [Hansen und Neumann, 2005] S.438 54 Vgl. [Hansen und Neumann, 2005] S.439 55 Vgl. [Abts und Mülder, 2004] S.201 56 Vgl. [Hansen und Neumann, 2005] S.443 57 Vgl. [Hansen und Neumann, 2005] S.443 2. Theoretische Grundlagen 14 Mediengruppe Text, Bild, Audio und Video Elektronische Konferenzsysteme Video Audio Videokonferenzsysteme Telefonie Telefonkonferenzsysteme Whiteboards Text, Bild Gruppeneditoren Elektronische Sitzungssysteme Text Text−Chat wenige Personen viele Personen Zielgruppe Abbildung 2.4.: Kategorisierung der synchronen Kommunikationsdienste 58 schen Konferenzsysteme gezählt werden kann. Die Systeme bieten Unterstützung bei der Organisation von Sitzungen, bei der Entscheidungsndung, der Bewertung von Vorschlä- 59 gen oder helfen bei Abstimmungen im Projektmanagement. Der Server protokolliert alle Äuÿerungen, Anregungen und Bewertungen der Gruppenmitglieder und strukturiert sie 60 auf der Arbeitsäche, die im Normalfall durch einen Beamer an die Wand projiziert wird. Text und Bild Mediengruppe: Zu dieser Mediengruppe zählen, wie in Abbildung 2.4 zu sehen, Gruppeneditoren und Whiteboards. 58 Vgl. [Hansen und Neumann, 2005] S.443 59 Vgl. [Hansen und Neumann, 2005] S.443 60 Vgl. [Hansen und Neumann, 2005] S.443 2. Theoretische Grundlagen 15 Mit einem Gruppeneditor, oder auch Mehrbenutzereditor genannt, können mehrere Per- 61 sonen an Texten oder Graken arbeiten. Dabei kann die Zusammenarbeit zeitgleich (synchron) oder auch zeitversetzt (asynchron) stattnden. 63 an einer Grak kann zurückverfolgt werden. 62 Jede Änderung am Text oder Weiter erlaubt der Editor den Autoren An- merkungen an bestimmten Stellen zu machen, bestimmte Textteile für Änderungen durch einen anderen Autor zu sperren oder auch separat erstellte Teile zusammenzufügen. 64 Es kann jedoch auch zu Konikten kommen, wenn mehrere Autoren gleichzeitig an der gleichen Stelle im Dokument arbeiten möchten. Ein Whiteboard ist eine weiÿe Arbeitsäche am Bildschirm auf dem Dokumente importiert werden können. 65 Die importierten Dokumente sind jedoch nicht wie in einem Editor bearbeitbar, sondern können wie in einem Zeichenprogramm nur ergänzt werden. 66 Die Datenänderungen werden zentral vom Server auf alle Benutzer-Clients synchronisiert, so- 67 dass alle Benutzer jederzeit über dieselben Informationen verfügen. Nur Audio Mediengruppe: Zu dieser Mediengruppe zählen, wie in Abbildung 2.4 zu sehen, die Telefonie und Telefonkonferenzsysteme. Mit Telefonie ist die Kommunikation, also die technische Übertragung des gesprochenen Wortes über ein Kommunikationsnetz, zwischen zwei oder mehreren Menschen ge- 68 meint. Herkömmliche Telefonie und IP-Telefonie unterscheiden sich lediglich durch die verwendete Übertragungstechnik: Die herkömmliche Telefonie ist leitungsvermittelt, die IP-Telefonie hingegen paketvermittelt. over IP (VoIP). 61 Vgl. [Hansen und Neumann, 2005] S.443 62 Vgl. [Hansen und Neumann, 2005] S.443 63 Vgl. [Hansen und Neumann, 2005] S.444 64 Vgl. [Hansen und Neumann, 2005] S.444 65 Vgl. [Hansen und Neumann, 2005] S.432 66 Vgl. [Hansen und Neumann, 2005] S.432 67 Vgl. [Hansen und Neumann, 2005] S.432 68 Vgl. [Klöppner, 2007] S.109 69 [Klöppner, 2007] S.109 69 Bei der IP-Telefonie spricht man auch von Voice 2. Theoretische Grundlagen 16 Unter einem Telefonkonferenzsystem ist die Konferenzschaltung per Telefon gemeint, die 70 es ermöglicht Sitzungen zur gleichen Zeit an verschiedenen Orten durchzuführen. Ziel 71 von Telefonkonferenzsystemen ist die Einsparung von Reisezeiten und Reisekosten. Nur Video Mediengruppe: Zu dieser Mediengruppe zählen, wie in Abbildung 2.4 zu sehen, nur Videokonferenzsysteme. Bei der Benutzung eines Videokonferenzsystems benden sich die Teilnehmer zur gleichen Zeit an verschiedenen Orten. 72 Es existieren speziell für Videokonferenzen ausgestattete Studios, die angemietet werden können, um eine Konferenzschaltung mit mehreren Teil- 73 nehmern durchzuführen. Es können auch mithilfe einer Dokumentenkamera Folien oder 74 Zeichnungen übertragen werden. Alternativ können am Arbeitsplatz auch ein sogenann- ter Video-Chat eingerichtet werden, der jedoch einiges an zusätzlicher Hardware und entsprechender Software erfordert. 75 Text, Bild, Audio und Video Mediengruppe: Zu dieser Mediengruppe zählen, wie in Abbildung 2.4 zu sehen, nur elektronische Konferenzsysteme. Ein elektronisches Konferenzsystem ist eine Webapplikation, die von den Konferenzteil- 76 nehmern mit Hilfe des Browsers gestartet werden kann. Somit können Diskussionsbei- 77 träge, Vorträge oder Präsentationen live am Bildschirm mitverfolgt werden. Um Fragen zu stellen oder an Diskussionen teilzunehmen, kann ein integrierter Text-Chat verwendet 78 werden. Elektronische Konferenzsysteme bieten auch die Möglichkeit einen Vortrag im 79 Nachhinein anzusehen bzw. die zusätzlich bereitgestellten Informationen zu sichten. 70 Vgl. [Hansen und Neumann, 2005] S.431 71 Vgl. [Abts und Mülder, 2004] S.204 und [Hansen und Neumann, 2005] S.431 72 Vgl. [Abts und Mülder, 2004] S.204 73 Vgl. [Hansen und Neumann, 2005] S.431 74 Vgl. [Hansen und Neumann, 2005] S.432 75 Vgl. [Hansen und Neumann, 2005] S.432 76 Vgl. [Abts und Mülder, 2004] S.204 77 Vgl. [Abts und Mülder, 2004] S.204 78 Vgl. [Abts und Mülder, 2004] S.204 79 Vgl. [Abts und Mülder, 2004] S.204 2. Theoretische Grundlagen 17 Asynchrone Kommunikation Nur Text Mediengruppe: Zu dieser Mediengruppe zählen, wie in Abbildung 2.5 zu sehen, Gruppenkalender, Adressverwaltungssysteme und Webforen. Mediengruppe Elektronische Konferenzsysteme E−Mail−Systeme Text, Bild, Audio und Video Mailinglists Weblogs Video−Podcasts Video Audio−Podcasts Audio Voice−Mail−Systeme Wikis Gruppeneditoren Text, Bild Telefax Projektmanagment− Systeme Webforen Gruppenkalender Text Adressverwaltungssysteme wenige Personen viele Personen Zielgruppe Abbildung 2.5.: Kategorisierung der asynchronen Kommunikationsdienste Mit einem Gruppenkalender besteht die Möglichkeit in einem Unternehmen die Termine der Mitarbeiter, Raumreservierungen und Gerätebenutzungen zu koordinieren. 80 Dadurch lassen sich Sitzungstermine einfacher festlegen und vorhandene Ressourcen, wie beispielsweise der Einsatz eines Beamers, besser nutzen. 81 Adressverwaltungssysteme erlauben in einem Unternehmen die zentrale Verwaltung der 82 wichtigsten Daten von Mitarbeitern, Kunden oder Lieferanten. 80 Vgl. [Hansen und Neumann, 2005] S.443 81 Vgl. [Hansen und Neumann, 2005] S.443 82 Vgl. [Hansen und Neumann, 2005] S.49 Dabei wird das Problem 2. Theoretische Grundlagen 18 der Dateninkonsistenz vermieden, da jeder Benutzer auf den gleichen Datenbestand zugreift und Adressänderungen zentral im Adressverwaltungssystem vorgenommen werden. Webforen erlauben den Austausch von Nachrichten in Diskussionen mit einem InternetBrowser ohne zusätzlicher Software. 83 Dabei sind alle Teilnehmer bei den Diskussionen 84 weitgehend gleichberechtigt. Text und Bild Mediengruppe: Zu dieser Mediengruppe zählen, wie in Abbildung 2.5 zu sehen, Telefax, Projektmanagement-Systeme, Wikis und Gruppeneditoren. Telefax ist ein an das Telefonnetz angeschlossener Fernkopierer, der die eingelesenen Schrift- und Bildvorlagen in einzelne Bildpunkte zerlegt und über das Telefonnetz zum räumlich entfernten Fernkopierer schickt. 85 Ein Projektmanagement-System ist im Sinne der Deutsches Institut für Normung e.V. (DIN) 69904 ein Führungs- und Vorgehensmodell zur erfolgreichen Realisierung von Projekten. 86 Durch das Projektmanagement-System ist der Projektleiter in der Lage die groÿen Datenmengen schneller, sicherer und vollständiger zu beherrschen, als dies auf 87 manueller Basis möglich wäre. Besonders im Berichtswesen leistet der Softwareeinsatz eine groÿe Hilfe, um beispielsweise anschauliche Graken und Tabellen auszugeben oder 88 den Projektbeteiligten und den Auftraggeber über den Projektfortschritt zu informieren. Wikis ermöglichen den Benutzern nicht nur Beiträge zu einer Diskussion hinzuzufügen, 89 sondern auch Inhalte, die von anderen erstellt wurden, zu verändern. Diese Änderungen lassen sich schnell und einfach am Browser durchführen, indem eine einfache Text-Syntax eingehalten wird. 90 Dabei können die einzelnen Seiten und Artikel eines Wikis durch Links 91 miteinander verknüpft werden. Wikis eignen sich in Unternehmen als eine gute Infor- mationsquelle, da im Gegensatz zu Diskussionsforen oder Mailinglisten mehr Flexibilität 92 hinsichtlich der Gliederung und Einordnung der Beiträge besteht. 83 Vgl. [Stocksmeier, 2002] S.43-44 84 Vgl. [Hein, 2007] S.28 85 Vgl. [Bühner, 2004] S.335 86 [Kor, 2006] S.59 87 Vgl. [Vahrenkamp, 2004] S.358 88 Vgl. [Vahrenkamp, 2004] S.358 89 Vgl. [Hansen und Neumann, 2005] S.428 90 Vgl. [Hansen und Neumann, 2005] S.428 91 Vgl. [Hansen und Neumann, 2005] S.428 92 Vgl. [Hansen und Neumann, 2005] S.429 2. Theoretische Grundlagen 19 Da Gruppeneditoren zeitgleich und zeitversetzt verwendet werden können, können sie den 93 synchronen wie auch den asynchronen Kommunikationsdiensten zugeordnet werden. Nur Audio Mediengruppe: Zu dieser Mediengruppe zählen, wie in Abbildung 2.5 zu sehen, Audio-Podcasts und Voice-Mail-Systeme. Ein Audio-Podcast ist eine Art Radiosendung, die im Internet veröentlicht wird. 94 Audio- Podcasts lassen sich mit einfachen Mitteln, beispielsweise einer Soundkarte, einem Mikrofon oder einem Headset und entsprechender Software, erstellen und sind in ihrer Länge 95 nicht beschränkt. Nach [Abts und Mülder, 2004] können Voice-Mail-Systeme folgendermaÿen deniert werden: Wie Texte können auch Sprachinformationen digital gespeichert werden und in Form einer Datei über ein Netz an andere Benutzer gesendet werden. Nach dem Prinzip des Anrufbeantwortes können diese Informationen über das Telefon eingegeben und abgerufen werden. 96 Nur Video Mediengruppe: Zu dieser Mediengruppe zählen, wie in Abbildung 2.5 zu sehen, nur Video-Podcasts. Video-Podcasts können im Internet publiziert werden und kommen einer eigenden Fern- 97 sehsendung gleich. Video-Podcasts lassen sich mit einfachen Mitteln, beispielsweise einer Webcam oder mit der Videoaufnahmefunktion eines Mobiltelefons und einer Software zum Schneiden von Videos, produzieren. 98 Text, Bild, Audio und Video Mediengruppe: Zu dieser Mediengruppe zählen, wie in Abbildung 2.5 zu sehen, E-Mail-Systeme, Mailinglisten, Weblogs und elektronische Konferenzsysteme. 93 Siehe Gruppeneditoren unter synchroner Kommunikation 94 Vgl. [Alby, 2007] S.73 95 Vgl. [Alby, 2007] S.77 96 [Abts und Mülder, 2004] S.201 97 Vgl. [Alby, 2007] S.84 98 Vgl. [Alby, 2007] S.86 2. Theoretische Grundlagen 20 E-Mail-Systeme stellen das Gegenstück zur konventionellen Briefpost dar und bieten auch 99 eine räumliche und zeitliche Entkoppelung der Kommunikation. Dabei speichern die E- Mail-Server die Nachrichten zwischen, Verwalten die Mailboxen der Anwender und regeln die Weiterleitung von Nachrichten zu anderen E-Mail-Servern, die die Mailboxen der Empfänger beherbergen. 100 Der Benutzer kann Nachrichten schreiben und an eine oder mehrere Personen verschicken, E-Mails empfangen und eine empfangene E-Mail an andere Benut- 101 zer weiterleiten. E-Mail-Systeme ermöglichen somit den papierlosen Austausch von Tex- ten und Graken, aber auch von anderen Formaten wie Audiodateien und Videodateien. 102 Um die Vertraulichkeit der Informationen zu gewährleisten sind auch Verschlüsselung von E-Mails möglich. 103 Die Nachricht wird im Postfach des Empfängers gespeichert und kann zu jeder Zeit vom Benutzer abgerufen werden. 105 E-Mails in der Mailbox zuzugreifen. 104 Es existieren zwei Protokolle, um auf die Beim Post Oce Protocol (POP) Protokoll werden die Mails vom Server heruntergeladen und lokal gespeichert. 106 Dagegen werden bei der Verwendung des Internet Message Access Protocol (IMAP) Protokolls die E-Mails direkt auf dem Mail-Server verwaltet und nur bei Bedarf auf den Client-Server übertragen. 107 Die E-Mail Kommunikation leidet oft an der groÿen Flut von unerwünschten Mails (Spam), welche einen groÿen Teil des weltweiten Mailaufkommens ausmachen. 108 Auch im Hinblick auf die Sicherheit ist beim Verwenden der E-Mail Kommunikation Vorsicht geboten, da 109 oft schädliche E-Mail Würmer in den E-Mail Anhängen verbreitet werden. Mailinglisten werden genutzt, um Mails an mehrere Benutzer zu verteilen. 110 Sie können zu unterschiedlichen Zwecken eingesetzt werden, beispielsweise als Newsletter, Diskussionen, Koordination von Projekten oder als Marketingwerkzeug, um zielgerichtet Information an bestimmte Kundengruppen zu schicken. 99 Vgl. [Abts und Mülder, 2004] S.200 100 Vgl. [Hansen und Neumann, 2005] S.412 101 Vgl. [Hansen und Neumann, 2005] S.412 102 Vgl. [Hansen und Neumann, 2005] S.412 103 Vgl. [Abts und Mülder, 2004] S.201 104 Vgl. [Abts und Mülder, 2004] S.200 105 Vgl. [Hansen und Neumann, 2005] S.419 106 Vgl. [Hansen und Neumann, 2005] S.419 107 Vgl. [Hansen und Neumann, 2005] S.419 108 Vgl. [Hansen und Neumann, 2005] S.420 109 Vgl. [Janowicz, 2005] S.234 110 Vgl. [Hansen und Neumann, 2005] S.424 111 Vgl. [Hansen und Neumann, 2005] S.424 111 Dabei beschränkt sich der Empfängerkreis auf 2. Theoretische Grundlagen 21 die Benutzer, die diese Mailingliste abonniert haben. 112 Es besteht aber auch die Möglich- 113 keit eine Antwort an eine einzelne Person der Mailingliste zu senden. Jeder Benutzer kann selbstständig Anfragen an den Server schicken, der die Mailingliste verwaltet, um 114 sich beispielsweise alle E-Mail Adressen der Mailinglisten-Mitglieder anzeigen zu lassen. Der Begri Weblog setzt sich zusammen aus Web und Logbuch und wird auch oft als Blog bezeichnet. 115 Weblogs sind Web-Tagebücher, die chronologisch immer weiter fort- 116 geschrieben werden, sodass der neueste Eintrag immer am Anfang der Liste erscheint. Weblogs sind oft textorientiert, können aber auch Bilder, Graken, Audiostreams und 117 Videostreams enthalten. Die Leser der Weblogs können durch Hinzufügen von Kom- mentaren Stellung zum Inhalt nehmen, haben aber nicht wie bei Wikis die Möglichkeit 118 den Inhalt von anderen Autoren zu ändern. Da elektronische Konferenzsysteme die Möglichkeit bieten Vorträge auch im Nachhinein anzusehen, können sie den synchronen wie auch den asynchronen Kommunikationsdiens- 119 ten zugeordnet werden. 2.1.3. Workow Mit Workow wird der Ablauf eines Geschäftsprozesses bezeichnet. 120 Dabei besteht ein Geschäftsprozess aus einer zeitlich-strukturellen Aneinanderreihung von Teilaufgaben und wird durch Ereignisse ausgelöst und beendet. 121 Die Teilaufgaben können von verschiede- nen Personen oder auch Agenten ausgeführt werden und sind aus einzelnen Aktivitäten zusammengesetzt. 122 Es lassen sich nach [Abts und Mülder, 2004] drei Workow-Typen unterscheiden: 112 Vgl. [Hansen und Neumann, 2005] S.424 113 Vgl. [Hansen und Neumann, 2005] S.424 114 Vgl. [Hansen und Neumann, 2005] S.424 115 Vgl. [Hansen und Neumann, 2005] S.429 116 Vgl. [Hansen und Neumann, 2005] S.429 117 Vgl. [Hansen und Neumann, 2005] S.430 118 Vgl. [Hansen und Neumann, 2005] S.430 119 Siehe Elektronische Konferenzsysteme unter synchroner Kommunikation 120 Vgl. [Hansen und Neumann, 2005] S.447 121 Vgl. [Fischer et al., 2002] S.243 122 Vgl. [Fischer et al., 2002] S.243 2. Theoretische Grundlagen 22 1. Ad-hoc-Workows: Wenig strukturierte Arbeitsabläufe, mit denen spontane und oft einmalige Aufgaben erledigt werden sollen, nennen sich Ad-hoc-Workows. Sie werden vollständig manuell durchgeführt, da die Arbeitsschritte nicht im Voraus denierbar sind. Die Bearbeiter solcher Workows haben jedoch sehr hohe Freiheitsgrade bei der Ablaufsteuerung. 123 2. Fallbezogene Workows: Nicht vollständig strukturierbare Arbeitsabläufe mit teilweisen Wiederholungen werden zu den fallbezogene Workows gezählt. Die Bear- 124 beiter solcher Workows haben gewisse Freiheitsgrade bei der Ablaufsteuerung. 3. Stark strukturierte Workows: Arbeitsaufgaben, die im Voraus denierbar und vollständig strukturierbar sind, zeichnen sich durch ihre wiederholenden Arbeitsabläufe aus. Dadurch haben die Bearbeiter solcher Workows wenige bzw. keine Freiheitsgrade bei der Veränderung einmal festgelegter Abläufe. 125 Workow-Management wird auch als Vorgangsbearbeitung bezeichnet und umfasst die Modellierung, Spezikation, Ausführung, Steuerung und Überwachung des Workows. 126 Ziel ist es, den Geschäftsprozess optimal zu organisieren und die Bearbeitungszeiten der Teilaufgaben zu reduzieren. 127 Nach [Hansen und Neumann, 2005] können Workow- Management-Systeme folgendermaÿen deniert werden: Workow-Management-Systeme unterstützen die Abwicklung der Geschäftsprozesse, indem sie automatisch nach den vordenierten Regeln Dokumente, Informationen oder Aufgaben zu den jeweiligen Bearbeitern weiterleiten, entsprechend dem jeweiligen Bearbeitungsschritt die notwendigen Daten und Anwendungen bereitstellen und Fristen und Ausnahmesituationen überwachen. 128 Am besten eignen sich stark strukturierte Workows für die Computerunterstützung 129 durch Workow-Management-Systeme. Workow-Management-Systeme verfügen nor- malerweise über ein Planungsmodul, ein Ausführungsmodul und ein Kontrollmodul. 123 Vgl. [Abts und Mülder, 2004] S.211 124 Vgl. [Abts und Mülder, 2004] S.211 125 Vgl. [Abts und Mülder, 2004] S.211 126 Vgl. [Abts und Mülder, 2004] S.210 127 Vgl. [Abts und Mülder, 2004] S.210 128 [Hansen und Neumann, 2005] S.447 129 Vgl. [Abts und Mülder, 2004] S.211 130 Vgl. [Ott, 1999] S.30 130 2. Theoretische Grundlagen 23 Das Planungsmodul dient zur Modellierung der Aufbau- und Ablauforganisation sowie zur 131 Spezikation der zu steuernden Prozesse. Weiterhin übernimmt das Ausführungsmo- dul die Steuerung der laufenden Prozesse, indem die benötigten Informationen und Doku- 132 mente bereitgestellt bzw. an den nächsten Bearbeiter weitergeleitet werden. den zur Aufgabenerledigung benötigte Applikationen automatisch gestartet. Dabei wer- 133 Das Kon- trollmodul überwacht den Prozessablauf und sammelt Daten, die für die Organisations- 134 bzw. Prozessoptimierung genutzt werden können. Der Zusammenhang zwischen Work- ow, Geschäftsprozess und Workow-Management-System ist in Abbildung 2.6 dargestellt. IT−Sicht Workflow−Management−Systeme definieren, starten und verwalten die Ausführung von Organisations−Sicht Workflows ist die Automatisierung von BWL−Sicht Geschäftsprozesse Abbildung 2.6.: Workow-Managment aus IT-Sicht, Organisations-Sicht und BWL-Sicht (Vgl. [Abts und Mülder, 2004] S.210) 131 Vgl. [Fischer et al., 2002] S.244 132 Vgl. [Fischer et al., 2002] S.244 133 Vgl. [Fischer et al., 2002] S.244 134 Vgl. [Fischer et al., 2002] S.244 2. Theoretische Grundlagen 24 2.1.4. Archivierung Die kurz- bis mittelfristige Speicherung von noch in Bearbeitung bendlicher Dokumente wird als Ablage bezeichnet. 135 Archivierung ist die langfristige Aufbewahrung bzw. 136 Auslagerung von Dokumenten auf externen Datenträgern. Das Problem von einfachen Ablagesystemen, wie beispielsweise dem Dateisystem eines Betriebssystems, ist das Wiedernden von Dokumenten in der hierarchischen Dateisystemstruktur. Die verbreiteten Betriebssysteme bieten nur eine eingeschränkte Dokumentensuche über wenige Attribute, wie beispielsweise dem Dateinamen, dem Dateiformat oder dem Erstellungszeitpunkt, an. Die Dokumente in einem Unternehmen, die in den lokalen Dateisystemen abgelegt sind, erzwingen die individuelle Archivierungen durch jeden einzelnen Mitarbeiter. Um eine zentrale Archivierung aller Dokumente der Mitarbeiter zu ermöglichen, können Netzlaufwerke auf dedizierten Speichersystemen für die Ablage der Mitarbeiterdokumente eingerichtet werden. Ein Dokumenten-Management-System (DMS) hingegen erlaubt das Einfügen, Aktualisieren und Archivieren von nicht-strukturierten Dokumenten, einen schnellen Zugri auf die Dokumente unterschiedlicher Formate durch eine integrierte Volltextsuche und die Archivierung der Dokumente. der Dokumente möglich. 138 137 Durch die Volltextsuche ist die Suche innerhalb Zusätzlich wird das fortlaufende Arbeiten an Dokumenten 139 durch eine integrierte Versionskontrolle unterstützt. Da sowohl die Archivierung als auch die Ablage von Dokumenten zentral verwaltet werden, stehen eine Rechteverwal- 140 tung und eine Zugriskontrolle im DMS zur Verfügung. Durch die zentrale Ablage aller Dokumente wird sparsamer mit den Speicherplatz-Ressourcen umgegangen, da gleiche Dokumente nicht mehrfach an verschiedenen Orten abgespeichert werden. Die Mehrfachablage von Dokumenten verursacht auch Probleme in der Zusammenarbeit, da das Risiko besteht, dass Teammitglieder an unterschiedlichen Versionen eines Dokumentes arbeiten und somit Arbeit unnötig mehrfach geleistet wird. 135 Vgl. [Abts und Mülder, 2004] S.205 136 Vgl. [Abts und Mülder, 2004] S.205 137 Vgl. [Hansen und Neumann, 2005] S.454 138 Vgl. [Hansen und Neumann, 2005] S.454 139 Vgl. [Hansen und Neumann, 2005] S.454 140 Vgl. [Hansen und Neumann, 2005] S.454 2. Theoretische Grundlagen 25 2.2. Groupware und Groupware-basierte Anwendungen Das Ziel jeder Groupware ist die Unterstützung der Gruppenarbeit. 141 Dieses interdiszipli- näre Forschungsgebiet nennt sich Computer Supported Cooperative Work (CSCW) und umfasst Bereiche aus der Wirtschaftsinformatik, der Arbeitswissenschaft, der Psychologie und der Kommunikationswissenschaft. 142 Groupware ist ein Kunstwort aus Group und Software, also ein Oberbegri für jede Art von Software, die Kommunikation, Kooperation und Koordination bei arbeitsteiliger Aufgabenbearbeitung unterstützt. 143 1. Kommunikation: Die Grundlage der Kooperation und Koordination stellt die Kom- 144 munikation dar. Unter Kommunikation ist die Übermittlung bzw. der Austausch von Informationen zwischen Personen und Programmen oder nur zwischen Program- 145 men gemeint. Dabei steht das Send-Prinzip des Push-Modells im Vordergrund, zu sehen auf der linken Seite von Abbildung 2.7, welches einen asynchronen Informationsuss erlaubt. 146 Das Push-Modell wird beispielsweise bei E-Mail-Systemen 147 für die 1:1 und 1:n Kommunikation ezient eingesetzt. Bei der n:m Kommunika- tion kommen Kommunikationsdienste, die auf dem Push-Modell beruhen, aber sehr schnell an ihre Grenzen, sodass das sogenannte Share-Prinzip eingesetzt wird. 148 2. Kooperation: Die Kooperation basiert auf der Kommunikation und beschreibt den Informationsaustausch mit einem gemeinsamen Ziel. 149 Sie setzt eine Zusammen- arbeit von mindestens zwei Personen voraus, die Zugri auf einen gemeinsamen Datenbestand nach dem Share-Prinzip des Pull-Modells haben. 150 Dieses Modell, welches auf der rechten Seite in der refFigkooperation dargestellt ist, ermöglicht eine eektive n:m Kommunikation ohne ein erhöhtes Datenaufkommen durch die Informationsverteilung zu erzeugen. 141 Vgl. [Fischer et al., 2002] S.238 142 Vgl. [Fischer et al., 2002] S.238 143 Vgl. [Abts und Mülder, 2004] S.211 144 Vgl. [Seufert, 1997] S.76 145 Vgl. [Seufert, 1997] S.76 146 Vgl. [Lotus, 1995] S.14 147 Vgl. [Lotus, 1995] S.14 148 Vgl. [Lotus, 1995] S.14 149 Vgl. [Dierker und Sander, 1998] S.104 150 Vgl. [Fischer et al., 2002] S.241 2. Theoretische Grundlagen 26 3. Koordination: Wird im Rahmen der Gruppenarbeit kommuniziert und bezieht sich die Kommunikation auf die Abstimmung aufgabenbezogener Tätigkeiten, so wird diese Dimension der Kommunikation als Koordination bezeichnet. 151 Koordination baut auf Kommunikation und Kooperation auf und soll eine eziente Gruppenar- 152 beit ermöglichen. Abbildung 2.7 veranschaulicht das Push- und Pull-Modell im Hinblick auf die Koordinationsunterstützung. Koordination Kommunikation Kooperation Push−Modell Pull−Modell Abbildung 2.7.: Kommunikation, Kooperation und Koordination (Vgl. [Fischer et al., 2002] S.242) Groupware-Systeme stellen eine Mehrbenutzersoftware dar, die einen Werkzeugkasten mit Programmen zur Unterstützung der Kommunikation, Kooperation und dem Ziel der Koordination anbietet. 153 Dabei bieten die Hersteller unterschiedliche Kombinationen von 154 synchronen und asynchronen Kommunikationsdiensten in ihren Groupware-Systemen an. Eine Arbeitsgruppe hat die Möglichkeit, mittels eines Groupware-Systems, gemeinsam mit Daten umzugehen, sie zu erzeugen, sammeln, kommentieren, strukturieren und zu verteilen. 155 Voraussetzung für Groupware-Systeme ist die Vernetzung der Arbeits- platzrechner, um eine eziente Zusammenarbeit zu gewährleisten. 156 Groupware-Systeme basieren oft auf verteilte Datenbanken, Replikation, Sicherheitsmechanismen und Nachrichtentransport mit Verschlüsselungsmöglichkeit. 157 151 [Fischer et al., 2002] S.242 nach [Teufel et al., 1995] S.12 152 Vgl. [Fischer et al., 2002] S.242 153 Vgl. [Hansen und Neumann, 2005] S.441 154 Siehe Unterabschnitt 2.1.2 155 Vgl. [Hansen und Neumann, 2005] S.442 156 Vgl. [Wagner, 1995] S.43 157 Vgl. [Wagner, 1995] S.43 2. Theoretische Grundlagen 27 Datenhaltung Etwa 80% - 90% der gespeicherten Informationen in Unternehmen liegen in unstrukturier- 158 ter Form vor, die sich nur schwer oder gar nicht in relationalen Datenbanken lassen. 159 ablegen Groupware-Systeme bieten eine gute Plattform, um solche unstrukturierten In- formationen abzuspeichern und zu verwalten. 160 Auf die verteilten Datenbanken eines Groupware-Systems können auch mehrere Benutzer gleichzeitig zugreifen. 161 Replikation Eine wichtige Eigenschaft von Groupware-Systemen ist die Replikation, die es erlaubt, dass Gruppenmitglieder eine Kopie der gemeinsamen Datenbank erstellen können. 162 Die verschiedenen Versionen auf den unterschiedlichen Rechnern der Mitarbeiter werden dann jedesmal bei Verbindung mit der zentralen Datenbank abgeglichen. 163 Damit wird sicher- gestellt, dass die von einem Mitarbeiter eingegebene Information nicht durch die veraltete Eingabe eines anderen Mitarbeiters überschrieben wird. 164 Durch diesen Synchronisations- Mechanismus reduziert sich auch das Problem der Daten-Inkonsistenz. 165 Eine Replik steht im Gegensatz zu einer Kopie der Datenbank weiter im Zusammenhang mit dem Original. 166 Sicherheit Da im Kontext der computerunterstützenden Gruppenarbeit wichtige interne Daten übertragen und gespeichert werden, sind Sicherheits- und Zugangsaspekte in Groupware- 167 Systemen von groÿer Bedeutung. Damit die Informationsobjekte, die sich in der ge- meinsamen Datenbank benden, nicht von jedem beliebigen Benutzer eingesehen werden 158 Eine relationale Datenbank ist ein spezieller Datenbank-Typ, der Daten in Tabellen organisiert und Relationen, d.h. Beziehungen, zwischen Tabellen beschreibt. Diese Beziehungen ermöglichen es, Daten von mehreren Tabellen zu verschiedenen Views (Ansichten) dieser Daten zusammenzufügen. ([Reese et al., 2003] S.4-5) 159 Vgl. [Riempp, ] S.25 und S.72 160 Vgl. [Riempp, ] S.25 und S.72 161 Vgl. [Dierker und Sander, 1998] S.32 162 Vgl. [Ebel, 2005] S.441 163 Vgl. [Ebel, 2005] S.441 164 Vgl. [Ebel, 2005] S.441 165 Vgl. [Ehlers, 1997] S.159 166 Vgl. [Dierker und Sander, 1998] S.129 167 Vgl. [Fischer et al., 2002] S.255 2. Theoretische Grundlagen 28 168 können, bedarf es eines komplexen Rechtesystems. Dabei handelt es sich bei den In- formationsobjekten um Funktions- und Präsentationselemente, Designelemente, Formulare, Ansichten aber auch Programmfunktionalitäten. 169 Bei der Sicherheitsmodellierung können durch Bildung von Gruppen und Rollen auch komplexe reale Organisationsstrukturen abgebildet werden. 170 Die Rechtestruktur besteht dabei aus mehreren Ebenen, wie beispielsweise der Leser-, Autoren, Editoren- und Administratoren-Stufe. 171 Weiterhin können Verschlüsselungs- und Autorisierungsprozeduren auf die verschiedenen, hierarchischen Ebenen der Informationsinfrastruktur eines Groupware-Systems, wie beispielsweise der Datenbanken, Dokumentenobjekte, Felder und der Kommunikationskanäle, eingesetzt 172 werden. Entwicklungsumgebung Einige Groupware-Systeme bieten Architekturkonzepte mit verschiedenen Schnittstellen an, welche die Entwicklung von Groupware-basierte Applikationen ermöglichen. 173 Group- ware ermöglicht als sogenannte Middleware den Austausch von Informationen zwischen verschiedenen Komponenten einer verteilten, heterogenen Systemlandschaft und übernimmt die Funktion von Kommunikationssoftware. 175 wie Simple Mail Transfer Protocol (SMTP) 174 Es können Standardschnittstellen und POP3/IMAP zum E-Mail-Austausch zur Verfügung stehen, aber auch Schnittstellen angeboten werden, um auf externe Dienste, wie beispielsweise einem Lightweight Directory Access Protocol (LDAP) einem Hypertext Transfer Protocol (HTTP) 177 176 -Server oder -Server, zugreifen zu können. 168 Vgl. [Fischer et al., 2002] S.255 169 Vgl. [Fischer et al., 2002] S.255 170 Vgl. [Fischer et al., 2002] S.255 171 Vgl. [Fischer et al., 2002] S.255 172 Vgl. [Ott, 1999] S.20 und S.43 und [Ehlers, 1997] S.128 173 Vgl. [Ott, 1999] S.19 und [Ehlers, 1997] S.126 174 [Fischer et al., 2002] S.257 175 SMTP ist ein Protokoll für die zuverlässige Übertragung von E-Mail-Nachrichten von den Mail-Servern der Sender zu denjenigen der Empfänger. (Vgl. [Kurose und Ross, 2002] S.123) 176 LDAP ist eine Spezikation für Verzeichnisdienste und ermöglicht durch Authentizierung einen sicheren Zugri auf Verzeichnisdaten. (Vgl. [Coulouris et al., 2002] S.446) 177 Das HTTP deniert, wie Browser und andere Client-Typen mit Webbrowsern kommunizieren. ([Coulouris et al., 2002] S.30) 2. Theoretische Grundlagen 29 Mit der Funktionseinbettung in Buttons, der Makro- und Skripting-Funktionalität, dem Event-Management und der automatisierten und teilautomatisierten Prozessaktivierung stehen exible und endbenutzernahe Programmierungskonzepte zur Verfügung. 178 Zum Entwickeln von eigenen Groupware-basierten Anwendungen existieren in den meisten 179 Groupware-Systemen Application Programming Interfaces (APIs) für unterschiedliche Programmiersprachen wie beispielsweise Java, C oder C++. 2.3. Oce Suites Eine Oce Suite, auch als integrierte Bürosoftware 180 bezeichnet, ist ein integriertes Pro- grammpaket, welches sich aus verschiedenen, aufeinander abgestimmten Komponenten für 181 den Bürobereich zusammensetzt. Zu einer Oce Suite zählen, wie in Abbildung 2.8 zu 182 sehen, die individuellen Oce-Anwendungen zur Textverarbeitung, Tabellenkalkulati- on, Präsentation, zum persönlichen Informationsmanagement (Terminkalender, Adressverwaltung, Aufgabenplanung und Notizverwaltung) und zur Grakerstellung. Bei einer weitläugeren Begrisdenition kann auch ein E-Mail-Client und ein Datenbankverwaltungssystem einer Oce Suite hinzugerechnet werden. Eine Oce Suite ist eine Sammlung von Softwarewerkzeugen, die zur Erhöhung der individuellen Produktivität an einem Bü- 183 roarbeitsplatz beitragen soll. Aus diesem Grunde sind Datenbankverwaltungssysteme in einer Oce Suite nicht mehr relevant, da es heute in Unternehmen für diese keinen sinnvollen Einsatz 184 mehr gibt. Frühere Anwendungsfälle, wie beispielsweise eine eigene Adressverwaltungsdatenbank als Datenquelle für Serienbriefe zu erstellen, sind oft durch den Leistungsumfang der Oce Suites abgedeckt, da die Adressverwaltung integraler Bestandteil des oft mitgelieferten E-Mail-Clients ist. 178 Vgl. [Fischer et al., 2002] S.257 179 API ist die Gesamtheit aller veröentlichten Methoden, Eigenschaften und andere Befehlsmittel einer Applikation, um dem Softwareentwickler die Möglichkeit zu geben, mit seiner geschriebenen Software auf diese zuzugreifen. (Vgl. [Schmidt und Wohlberg, 2007] S.1217) 180 Vgl. [Hansen und Neumann, 2005] S.338 181 Vgl. [Jordan, 2001] S.358 182 Siehe Unterabschnitt 2.1.1 183 Vgl. [Hansen und Neumann, 2005] S.339 184 Im Heim- oder Hobbybereich kann es noch eine sinnvolle Aufgabenerfüllung geben 2. Theoretische Grundlagen 30 Mediengruppe Text, Bild, Audio und Video Datenbankanwendungen E−Mail−Systeme Präsentationsanwendungen Video Audio Grafikanwendungen Text, Bild Textverarbeitungsanwendungen Tabellenkalkulationsanwendungen Text Persönliches Informationsmanagement Einzelpersonen wenige Personen Zielgruppe Abbildung 2.8.: Kategorisierung der Oce Suite Komponenten (Vgl. [Abts und Mülder, 2004] S.194) Da Oce Suites für Einzelarbeitsplätze ausgelegt sind, können sie nur schwierig für eine eektive Gruppenarbeit eingesetzt werden. Falls diese doch für Gruppenarbeit eingesetzt werden sollen, können folgende Schwierigkeiten auftreten: • Da oft kein gleichzeitiger Zugri auf einem Dokument, beispielsweise einem Textverarbeitungsdokument oder einem Präsentationsfoliensatz, durch mehrere Bearbeiter möglich ist, kann nur eine sequentielle Bearbeitung durch mehrere Gruppenmitglieder erfolgen. • Die mehrfache Ablage der gleichen Dokumente durch unterschiedliche Gruppenmitglieder führt zu Daten-Inkonsistenzen, zu vielen unterschiedlichen Versionen eines Dokumentes und einem erhöhten Speicherplatzverbrauch. 2. Theoretische Grundlagen • 31 Ein Dokumentenmanagement mit Versionskontrolle in einer Gruppe ist schwierig zu realisieren. Dies kann zwar durch ein manuelles Hochzählen der Versionsnummer im Dateinamen erfolgen, ist aber sehr unsicher, unpraktikabel und zeitaufwändig. • Die Archivierung der lokal gespeicherten Dokumente ist nicht zufriedenstellend sicher und erfordert eine individuelle Datensicherung durch jeden einzelnen Benutzer. Dies kann zwar durch den Einsatz eines gemeinsamen Netzlaufwerkes und der daraus resultierenden Möglichkeit der zentralen Datensicherung abgemildert werden, führt jedoch zu neuen Problemen bei der Zugriskontrolle auf das Netzlaufwerk. Auÿerdem besteht die Schwierigkeit, wie auch schon auf dem lokalen Dateisystem, die unstrukturierten Informationen sinnvoll zu strukturieren. • Das Wissensmanagement in einem Unternehmen, in dem jeder Mitarbeiter seine eigenen Daten speichert und verwaltet, ist problematisch. Viel vorhandenes Wissen wird dadurch nicht weitergegeben, geht verloren und kann von anderen Gruppenmitgliedern nicht gefunden werden. Das Nutzen eines zentralen Netzlaufwerkes im Dateisystem leidet unter der mehrdeutigen Strukturierungsmöglichkeiten von Dokumenten und der eingeschränkten Suchmöglichkeit. 2.4. Generische Schnittstelle zwischen Groupware-Systemen und Oce Suites Beim Vergleich von Groupware-Systemen und Oce Suites lässt sich die Kommunikation durch E-Mail-Systeme als gemeinsamer asynchroner Kommunikationsdienst identizieren. Weiterhin lassen sich eine Reihe von Anwendungen der Oce Suites, die nur durch eine Einzelperson benutzt werden können, durch Anwendungen, die auch die Gruppenarbeit unterstützen, ersetzen oder ergänzen. Dazu zählt die persönliche Adressverwaltung, die durch die zentrale Adressverwaltung des Groupware-Systems ersetzt werden kann. Die zentrale Adressverwaltung ermöglicht auch die Speicherung von persönlichen Kontakten durch das Rechte- und Zugrissystem der Groupware. Jedoch macht der integrierte Gruppenkalender eines Groupware-Systems den persönlichen Terminkalender nicht überüssig, obwohl er die Möglichkeit bietet persönliche Termine zu verwalten. Zur Wahrung der Pri- 2. Theoretische Grundlagen 32 vatsphäre wird in der Praxis oft ein persönlicher Terminkalender zusätzlich zu einem Gruppenkalender genutzt. So können individuell, für die Gruppenarbeit relevante, persönliche Termine mit dem Gruppenkalender abgeglichen werden. Ein Gruppeneditor, der das gemeinsame Schreiben an einem Dokument in einer Gruppe gewährleistet, kann auch in Anwendungsfällen genutzt werden, in denen nur ein Autor an einem Dokument arbeitet. Somit leistet auch ein Gruppeneditor einen Mehrwert gegenüber der Textverarbeitungsanwendung, die als Komponente in der Oce Suite zu nden ist. Ein groÿer Vorteil von Groupware-Systemen ist die integrierte Dokumentenverwaltung. Sie erönet durch das exible Rechte- und Zugrissystem die Möglichkeit der Dokumentenverteilung und trägt somit auch zur Wissensverteilung im Unternehmen bei. Zusätzlich bietet es eine zentrale Dokumentenarchivierung und erspart die zeitintensive und unsichere Datenarchivierung durch jeden einzelnen Mitarbeiter. In vielen Fällen ergänzen sich die Programme der Groupware Welt und der Oce Suite Welt. Dies hängt natürlich auch davon ab, welche Anwendungen im konkreten Groupware-System vorhanden sind. Deshalb können konkrete Datenaustauschszenarien nur bei Betrachtung realer Groupware-Systeme und Oce Suites betrachtet werden. Da einige Groupware-Systeme als Middlewareplattformen die Entwicklung von Groupwarebasierten Applikationen unterstützen, verwenden diese Anwendungen auch die in Groupware integrierte Datenverwaltung. Auf diese Groupware-basierten Applikationen, wie auch auf die in der Groupware integrierte Datenverwaltung kann mithilfe von APIs extern programmtechnisch zugegrien werden. Auch die marktbeherrschenden 185 Oce Suites bie- ten APIs an, mit deren Hilfe auf die einzelnen Teilanwendungen, wie beispielsweise der Textverarbeitungs-, der Tabellenkalkulations- oder der Präsentationsanwendung, mittels unterschiedlicher Programmiersprache zugegrien werden kann. Durch Verwendung der Groupware API auf der einen Seite und der Oce Suites APIs auf der anderen Seiten, lassen sich Datenaustauschlösungen zwischen Groupware-basierten Applikationen und Oce Suites implementieren. 185 Siehe Unterabschnitt 3.1.2 2. Theoretische Grundlagen 33 2.5. Technische Grundlagen 2.5.1. COM Technologie COM ist ein von der Firma Microsoft entwickeltes Komponentenmodell für die Entwicklung und Nutzung objektorientierter Softwarekomponenten. 186 Es hat seine Ursprünge im Object Linking and Embedding (OLE), das eine Technologie zur Erzeugung von Dokumenten ist, welche aus mehreren Anwendungen bestehen. Heute ist die OLE Technologie ein Teil von COM. 187 Der COM Begri teilt sich in die COM-Spezikation und der COM- Implementierung auf. 188 Die COM-Spezikation umfasst den Aufbau der COM-Komp- 189 onenten und der von COM angebotenen Komponentendienste. Die COM-Implemen- tierung ist die passende Implementierung der COM-Spezikation in Form der COMBibliothek. bar. 191 190 Die COM-Bibliothek ist jedoch nur für Windows Betriebssysteme verfüg- COM ist eine sehr stark in Windows integrierte Technologie, da sie beispielsweise auf die Windows-Sicherheit zugreift und die Windows-Registry als Kongurationsspeicher benutzt. 192 Da COM einen Binärstandard für Komponenten umfasst, ist es programmier- 193 sprachenunabhängig und somit für viele Sprachen verfügbar. Beispielsweise können Sprachen wie C++, C oder Java die COM-Komponenten nutzen und erzeugen. 194 Da COM ein objektorientiertes Modell ist, verwendet es Klassen, Schnittstellen, Attribute und Methoden. 195 Distributed Component Object Model (DCOM) ist die Middleware zu COM und erweitert diese um die Benutzung der COM-Komponenten über Rechnergrenzen hinaus. 196 Mit dem Betriebssystem Windows 2000 hat Microsoft COM+ eingeführt, 197 das COM um neue Dienste erweitert. 186 Vgl. [Schwichtenberg, 2001] S.26 187 Vgl. [Schwichtenberg, 2001] S.27 188 Vgl. [Schwichtenberg, 2001] S.27 189 Vgl. [Schwichtenberg, 2001] S.27 190 Vgl. [Schwichtenberg, 2001] S.27 191 Vgl. [Schwichtenberg, 2001] S.27 192 Vgl. [Schwichtenberg, 2001] S.29 193 Vgl. [Schwichtenberg, 2001] S.29 194 Vgl. [Schwichtenberg, 2001] S.29 195 Vgl. [Schwichtenberg, 2001] S.29 196 Vgl. [Schwichtenberg, 2001] S.27 197 Vgl. [Schwichtenberg, 2001] S.28 2. Theoretische Grundlagen 34 Auch ActiveX wird zur COM Technologie gezählt und umfasst die Graphical User Interface 198 (GUI)- und browserbasierten Teile von COM. 2.5.2. Web Service Web Services sind in sich abgeschlossene, modulare Anwendungen, die beschrieben, veröentlicht, gesucht und über das Netz aufgerufen werden können. 199 Der Web Service Programmieransatz orientiert sich an der Serviceorientierten Architektur (SOA). 200 Web Services ermöglichen sowohl einen Remote Procedure Call (RPC) als auch einen Nachrichtenaustausch. 201 Im Gegensatz zu Technologien wie COM oder .NET bieten Web Services anstelle von proprietären Binärformaten eine textbasierte Kommunikation an, die auf Standards wie XML und Simple Object Access Protocol (SOAP) beruht. 202 Es besteht eine klare Trennung zwischen Schnittstelle und Implementierung, sodass die Im- 203 plementierungssprache von untergeordneter Bedeutung ist. Somit sind Web Services plattformunabhängig und können Java Platform, Enterprise Edition (JavaEE)- und .NET- 204 Anwendungen miteinander verbinden. Dadurch wird die Interoperabilität zwischen un- terschiedlichen Plattformen und Programmiersprachen ermöglicht. 205 Die Nachteile von Web Services gegenüber konventionell erstellten Anwendungen liegen darin, dass die Performance schlechter ist. 206 In Abbildung Abbildung 2.9 ist eine typische Web Service Architektur zu sehen. Der Web Service Anbieter veröentlicht im Universal Description, Discovery and Integration (UDDI) Verzeichnis seinen Web Service, der mittels Web Services Description Language (WSDL) beschrieben ist. Die Beschreibung basiert auf einer XML-Datei und deniert die unterstützten Methoden und deren Parameter, die für die Verwendung des Web Services 207 von Seiten des Konsumenten von Bedeutung sind. 198 Vgl. [Griel, 1998] S.80 199 [Ebel, 2005] S.395 200 Vgl. [Ebel, 2005] S.396 201 Vgl. [Schäer, 2002] S.998 202 Vgl. [Schäer, 2002] S.998 203 Vgl. [Schäer, 2002] S.998 204 Vgl. [Schäer, 2002] S.997 205 Vgl. [Schäer, 2002] S.998 206 [Müller, 2004] S.162 207 Vgl. [Ebel, 2005] S.396 Der Konsument kann das UDDI 2. Theoretische Grundlagen 35 UDDI Finden mittels WSDL Web Service Konsument Veröffentlichen mittels WSDL XML und SOAP basierte Methodennutzung Webservice Anbieter Abbildung 2.9.: Eine typische Web Service Architektur (Vgl. [Ebel, 2005] S.395) Verzeichnis durchsuchen und mithilfe der Funktionsbeschreibung den gewünschten Web Service auswählen. Durch das Uniform Resource Identier (URI) Benennungsschema kann der Web Service vom Konsumenten eindeutig identiziert und verwendet werden. 208 Die gewünschten Funktionalitäten des Web Services können durch den Konsumenten genutzt werden, indem er auf die entsprechenden Methoden des Web Services zugreift. 208 Vgl. [Schäer, 2002] S.77 3. Konzepte zum Datenaustausch Nachdem im Kapitel 2 der Kontext von Oce-Systemen im Bereich des Oce-basierten Arbeitens abgegrenzt und eine begriiche Einordnung von Groupware und Oce Suites gegeben wurde, soll nun eine technische Betrachtung einiger Groupware-Systeme in Abschnitt 3.1 folgen. Diese Betrachtung hat zum Ziel das geeigneteste Groupware-System zum Datenaustausch mit Oce Suites auszuwählen. Dabei spielt bei der Auswahl insbesondere das Schnittstellenangebot eine groÿe Rolle. Aber auch die Möglichkeit Groupwarebasierte Anwendungen auf dem Groupware-System ausführen zu lassen, soll in die Bewertung mit einieÿen. Aufbauend auf der getroenen Auswahl des Groupware-Systems werden in Abschnitt 3.3 Anforderungen, an das prototypisch umzusetzende Datenaustauschkonzept, deniert. Diese Anforderungen dienen als Bewertungsgrundlage für die verschiedenen Konzeptansätze, die im Abschnitt 3.4 erarbeitet werden sollen. Diese Konzeptansätze werden hinsichtlich ihrer Vor- und Nachteile diskutiert und im Abschnitt 3.5 bewertet, um somit eine Entscheidung in Abschnitt 3.6 für die prototypische Implementierung der OceGateway Schnittstelle in Kapitel 4 zu legen. 3.1. Technische Betrachtung In diesem Abschnitt soll erst einmal in Unterabschnitt 3.1.1 ein Überblick über den Groupware Markt gegeben werden. Danach werden im Unterabschnitt 3.1.2 näher auf die Oce Suites eingegangen. Dabei wird die technische Betrachtung folgenden Oce Suites gelten: Microsoft Oce, die Oce Suites Lotus SmartSuite und Lotus Symphony des Unternehmens International Business Machines Corporation (IBM) und OpenOce.org, die Sun Microsystems als Open Source seiner kommerziellen Oce Suite StarOce freigegeben hat. 36 3. Konzepte zum Datenaustausch 37 3.1.1. Groupware-Systeme Der Markt kommerzieller Groupware-Systeme ist insofern übersichtlich, da dieser im Wesentlichen von drei Anbietern beherrscht wird. Markführer dieser Branche ist das Unternehmen Microsoft Jahre 2006. 2 1 mit einem Markanteil von 32% des Produktes Microsoft Exchange im 3 Konkurrent IBM besitzt mit Lotus Notes 24% des Marktes und als abge- 4 5 schlagener Dritter folgt das Groupware-System GroupWise der Firma Novell . 6 wird der Anteil von Microsoft nach Einschätzung der Radicati Group sen, Lotus auf 20% schrumpfen. 7 Bis 2009 auf 37% wach- Alternative Groupware-Systeme sind beispielsweise das 8 9 Open Source Community-Projekt Kolab und Open-Xchange (OX) , bei dem die Entwicklerversion auch als Open Source zur Verfügung steht. Open Source Software bezeichnet Software, deren Programme als Quellcode (Source Code) frei verfügbar sind, sodass die Nutzer bzw. nutzende Unternehmungen, diese Programme für ihre Zwecke verändern, Verbesserungen entwickeln und Fehler beseitigen können. 10 Im Folgenden wird kurz auf die Entstehung jedes Groupware-Systems eingegangen. Da diese eine Mehrbenutzersoftware darstellen, die einen Werkzeugkasten mit unterschiedli- 11 chen Kombinationen von synchronen und asynchronen Kommunikationsdiensten anbie- ten, soll jeweils aufgezeigt werden, welche Kommunikationsdienste und Funktionalitäten in der aktuellen Version integriert sind. Der Schwerpunkt der Betrachtung liegt jedoch auf der Fähigkeit Groupware-basierte Anwendungen auf dem Groupware-System auszuführen und der Existenz von Schnittstellen, die einen Datenaustausch ermöglichen. 1 http://www.microsoft.com 2 Vgl. [Jung, 2006] 3 http://www.ibm.com 4 http://www.novell.com 5 Vgl. [Jung, 2006] 6 http://www.radicati.com 7 [Jung, 2006] 8 http://www.kolab.org 9 http://www.open-xchange.com 10 [Alpar et al., 2002] S.396 11 Vgl. [Hansen und Neumann, 2005] S.441 3. Konzepte zum Datenaustausch 38 Microsoft Exchange Das Groupware-System Microsoft Exchange ist aus dem Programm Microsoft Mail entstanden und wurde im Jahre 1995 veröentlicht. 12 Die folgende Betrachtung von Microsoft Exchange basiert, sofern es nicht anders gekennzeichnet ist, auf der Onlinedokumentation im TechNet von Microsoft Aktuell 14 13 . ist die Version 2007 von Microsoft Exchange auf dem Markt und bietet ein Messaging-System mit Zugri auf E-Mails, Voice-Mails, Kalender und Kontakte und einen integrierten Schutz vor Spam und Viren. Exchange Server 2007 wird als Standard Edition und Enterprise Edition angeboten. Exchange Server 2007 Standard Edition wurde für kleine und mittlere Unternehmen konzipiert, wohingegen die Enterprise Edition für groÿe Unternehmen entwickelt wurde und zusätzlich die Erstellung mehrerer Speichergruppen und Datenbanken ermöglicht. Als Groupware Client existieren die verschiedenen Outlook Varianten Outlook, Outlook Express, Outlook Mobile Access, Pocket Outlook und Outlook Web Access. In Exchange 2007 wurde das Konzept der Serverfunktionen neu eingeführt, die separat installiert werden können. Folgende Serverfunktionen stehen zur Verfügung: • Mailbox: Die Serverfunktion Mailbox ist für das Hosten der Postfachdatenbanken zuständig. Zur Bereitstellung einer hohen Verfügbarkeit der Postfachserver wurden drei unterschiedliche Replikationstechniken implementiert. • ClientAccess: Die Serverfunktion ClientAccess ermöglicht den Postfachzugri über 15 Oce Outlook 2007, Oce Outlook Web Access, POP3, IMAP4, Outlook Anywhere und Exchange Server ActiveSync. Outlook Web Access ermöglicht den Zugri auf die Exchange Funktionalitäten über einen beliebigen Webbrowser. Exchange ActiveSync kann für die Synchronisierung von E-Mails, Kontakten, Kalenderinformationen und Tasks zwischen einem mobilen Gerät und Exchange 2007 eingesetzt werden. 12 Vgl. [Allan, 2001] S.104 13 Vgl. [Microsoft, 2007] 14 Stand: Februar 2008 15 Weitere Informationen unter 80).aspx http://technet.microsoft.com/en-us/library/bb123741(EXCHG. 3. Konzepte zum Datenaustausch • 39 Hub Transport: Die Serverfunktion Hub Transport verwaltet das Routing und wendet darüber hinaus Richtlinien auf eingehende und ausgehende E-Mails an. • UniedMessaging: In der Serverfunktion UniedMessaging werden Sprach-, Faxund E-Mail Nachrichten in einer einzigen Messaginginfrastruktur kombiniert, auf die die Benutzer mithilfe mobiler Geräte und Mobil-, Analog- oder Digitaltelefone zugreifen können. Die Voraussetzung zur Nutzung der meisten UniedMessaging Funktionen ist jedoch der Betrieb eines Microsoft Oce Communications Server 2007 • 16 . Edge-Transport: Die Serverfunktion Edge-Transport bietet Antispam- und Antivirendienste zum Schutz vor Spam und Viren. Es stehen ein Virenscan-API und eine programmierbare Virenüberwachung auf Transportebene zur Verfügung. Exchange 2007 enthält eine Reihe neuer Dienste, die als Exchange-Webdienste bezeichnet werden. Sie bieten Entwicklern den Zugri auf die Postfächer authentizierter Benutzer. Die Exchange-Webdienste sind eine programmierbare Schnittstelle und verarbeiten 17 SOAP .NET 18 -Nachrichten, die über HTTP gesendet werden. Weiterhin stehen in Exchange Framework-Erweiterungen zur Verfügung, die mit Hilfe von Klassen und Daten- strukturen den Zugri auf, sowie die Bearbeitung von verschiedenen Komponenten der E-Mail-Nachrichten ermöglichen. Exchange besitzt kein integriertes DMS. Doch existieren Lösungen von Drittanbietern, wie zum Beispiel Keyles Active Document Workspace 20 der Firma Pronobis 16 Weitere 19 , die ein DMS Exchange und Outlook hinzufügen. Informationen unter http://office.microsoft.com/de-de/communicationsserver/ FX101729111031.aspx 17 SOAP ist ein Kommunikationsprotokoll, welches den Aufbau und das Format von Nachrichten deniert, die zwischen dem Service Consumer und dem Service Provider ausgtauscht werden. Der Austausch der XML-basierten SOAP-Nachricht erfolgt mithilfe eines Transportprotokolls, wie beispielsweise HTTP. (Vgl. [Kollmann, 2007] S.98) 18 Microsofts .NET ist eine Entwicklungs- und Deployment-Plattform zur Konstruktion und zum Betrieb von verteilten Applikationen für das Intra- und Internet. (Vgl. [Petzel, 2005] S.403) 19 Weitere Informationen unter 20 http://www.pronobis.at http://www.pronobis.at/Software/eiStream/master_eiStream.htm 3. Konzepte zum Datenaustausch 40 Lotus Notes Die Groupware Lotus Notes/Domino ist ein kommerzielles Produkt von IBM. Der Bereich der Groupware spielt bei der heutigen Version von Lotus Notes/Domino eigentlich nur eine untergeordnete Rolle. 21 Lotus Notes/Domino stellt eher eine Applikationsplattform mit ei- gener Datenbankentwicklungsumgebung dar, die zusätzlich ein Dokumentenmanagement, Groupwareanwendungen, Administrationswerkzeuge und viele anderen Technologien und 22 Funktionalitäten integriert hat. Die folgende Entstehungsgeschichte basiert auf [Webteam, 2007] und soll den Schwerpunkt auf die Einführung und Integration wichtiger Technologien in Lotus Notes/Domino legen. Lotus Notes wurde ab 1984 von Iris Associates mit der Vision entwickelt OnlineDiskussion, E-Mail, Telefonbücher und eine Dokumentendatenbank zusammen in ein Produkt zu integrieren. Die erste Version, die 1989 vorgestellt wurde, beinhaltete Programme wie Group Mail, Group Discussion und Group Phone Book und die Möglichkeit mithilfe von Templates eigene Applikationen zu entwickeln. Lotus Notes bot dem Benutzer eine Client/Server Architektur an, die die Clients über das Netzwerk bedienen konnten. Es war auch möglich mehrere Notes Server zu benutzen, die über den SynchronisationsMechanismus der Replikation 23 ihre Daten miteinander abgleichen konnten. Revolutionäre Funktionalitäten waren die Verschlüsselung, die Signierung, die auf dem Rivest, Shamir und Adelman (RSA)-Kryptosystem 24 basierende Authentizierung und die Integration der Formelsprache @Formulas. Die Version 2.0 wurde 1991 eingeführt und konzentrierte sich auf die Verbesserung der Skalierbarkeit. Auÿerdem wurde unter anderem das C-API, zusätzliche Formelsprachfunktionen und der Richtext-Support hinzugefügt. Im Mai 1993 wurde die Lotus Notes Version 3.0 freigegeben. In dieser Version wurden die Hauptveränderungen am Design vorgenommen und zusätzliche Funktionen, wie beispielsweise die Volltextsuche und die Integration der standardisierte Datenbankschnittstelle Open Data- 25 base Connectivity (ODBC) , eingeführt. Die Version 4.0 von Lotus Notes, die im Januar 21 Vgl. [Feilner, 2007] S.5 22 Vgl. [Feilner, 2007] S.5 23 Vgl. Abschnitt 2.2 24 Das RSA-Kryptosystem ist eine Verschlüsselung mit öentlichem Schlüssel und basiert auf die Verwendung des Produkts zweier groÿer Primzahlen, die eine Primfaktorzerlegung sehr aufwendig machen. (Vgl. [Coulouris et al., 2002] S.329) 25 ODBC ist ein Industriestandard für Datenbanken und ermöglicht, durch die Verwendung eines ODBC Treibers, den Zugri auf Daten der meisten gängigen Datenbanksysteme. (Vgl. 3. Konzepte zum Datenaustausch 41 1996 veröentlicht wurde, wies eine komplette Überarbeitung der Benutzerschnittstelle auf. Weiterhin wurde die Programmiersprache LotusScript und aufgrund der steigenden Bedeutung des Webs wichtige Web-Technologien, wie ein HTTP Server, integriert. Im Dezember 1996 wurde im Zuge der Übernahme von Lotus durch IBM, die schon 1995 statgefunden hatte, der neue Notes 4.5 Server in Lotus Domino 4.5 umbenannt. Der Lotus Domino Server wandelte sich in einen interaktiven Webapplikations-Server, der die oenen Internet Standards und Protokolle mit der integrierten Entwicklungsumgebung von Lotus Notes kombinierte. Lotus Notes/Domino in der Version 5.0 wurde Anfang 1999 eingeführt. Mit dieser Version ging die Web-Integration weiter. Wichtige Weiterentwicklungen des Domino Servers waren zum Beispiel der Multipurpose Internet Mail Extension (MIME) 26 und SMTP Support und die Unterstützung der Programmiersprachen Java und JavaScript. Die Version 6.0 des Lotus Domino Servers, der zusammen mit dem Lotus Notes Client im Oktober 2002 vorgestellt wurde, legte die Schwerpunkte im Wartungs- und Administrationsbereich durch Verbesserung der Installation, Skalierbarkeit und Performance. Auch 27 weitere Unterstützung wichtiger Technologien wie beispielsweise SOAP/XML ver Pages (JSP) 28 und Sevlets 29 , JavaSer- wurden implementiert. Im September 2003 gab IBM Lotus Notes/Domino 6.5 frei. Diese Version bot eine engere Integration mit anderen IBM/Lotus Technologien, wie beispielsweise dem Instant Messaging Produkt IBM Lotus Sametime und IBM Lotus Domino Web Access. Lotus Notes/Domino 7.0 wurde im August 2005 eingeführt. Diese Version legte das Hauptaugenmerk auf eine einfachere und ezientere Nutzung und Wartung von Lotus Notes/Domino. [Elmasri und Navathe, 2002] S.614 und S.930) 26 MIME als Standard für das Versenden von E-Mail-Nachrichten, die verschiedene Daten, wie beispielsweise Text, Bilder und Audio beinhalten können. Vor den Daten wird der MIME-Präx geschrieben, damit der Empfänger den Typ der Daten erkennen kann. (Vgl. [Coulouris et al., 2002] S. 186) 27 XML ist eine Vielzahl von Standards, die vom World Wide Web Consortium (W3C), für die Denition und die Verarbeitung strukturierter Datenformate, entwickelt wurden. (Vgl. [Schmidt und Wohlberg, 2007] S.1233) 28 Die JSP Technologie ist Teil des Java Enterprise Edition (EE)-Standards und ermöglicht die serverseitige Erweiterung von Hypertext Markup Language (HTML)-Seiten um dynamisch generierte Inhalte. (Vgl. [Bergsten, 2002] S.13) 29 Servlets sind Java-Klassen, die in einer Java-Umgebung im Webserver integriert sind und mit der Servlet Engine auf dem Server interagieren. Sie verarbeiten und beantworten Anfragen, die vom Webbrowser über die Servlet Engine an sie gestellt werden. (Vgl. [Hunter, 1998] S.17) 3. Konzepte zum Datenaustausch 42 Der Notes Client ermöglichte es nun Instant Messaging Meetings mit Hilfe von Screen Sharing, Whiteboards, Audio und Video durchzuführen. 30 Die aktuelle Version von Lotus Notes/Domino in der Version 8.0 wurde im August 2007 veröentlicht. Es enthält die folgenden Produkte: den Server IBM Lotus Domino 8, den Client IBM Lotus Notes 8, den Client IBM Lotus Domino Web Access 8, der den Zugri auf Lotus Domino-Werkzeuge über einen Webbrowser ermöglicht, und die Anwendungs- 31 entwicklungssoftware IBM Lotus Domino Designer 8. Auf die Verbesserungen, neuen Funktionalitäten und Innovationen der Version 8.0 soll nun im Folgenden näher eingegangen werden. Der Lotus Domino Server 8 bietet Unterstützung für eine Vielzahl von Betriebssystemen, wie IBM i5/Operating System (OS), IBM z/OS, IBM Advanced Interactive eXecutive 32 (AIX), Sun Solaris, Windows und Linux. und Linux Betriebssysteme zur Verfügung. Der Lotus Notes 8 Client steht für Windows 33 Lotus Notes 8 wurde auf der Grundlage der auf oenen Standards basierenden Technologie Eclipse Rich Client Platform (RCP) entwickelt. Die Eclipse RCP unterstützt die Anwendungsentwicklung mit einer funktionsreichen graschen Benutzeroberäche. 34 Die Eclipse RCP wird auch von IBM Lotus Sametime und IBM Lotus Expeditor genutzt und ermöglicht somit eine clientübergreifende Entwicklung. 35 Eclipse ist eine oene Community, die Open-Source-Code und - Standards für eine RCP bereitstellt, die auf einer breiten Palette von Desktop-Personal Computers (PCs), Laptops, Tablet-PCs, Selbstbedienungsterminals und mobilen Endgeräten ausgeführt werden kann. Eclipse verwaltet auch die Installation, Aktualisierung und Deinstallation von Softwarekomponenten. Lotus Expeditor erweitert die EclipseCodierung um eine Plattform für Verbundanwendungen sowie um Basisservices für Lotus Notes und Lotus Sametime. 36 Verbundanwendungen ermöglichen, durch die bereitgestell- 37 ten Komponenten, den Aufbau einer einheitlichen Benutzerschnittstelle. 30 Stand: Januar 2008 31 Vgl. [IBM, 2007d] S.3 32 Vgl. [IBM, 2007a] S.12 33 Vgl. [IBM, 2007a] S.12 34 [IBM, 2007b] S.7 35 Vgl. [IBM, 2007b] S.5 36 [IBM, 2007b] S.7 37 Vgl. [IBM, 2007b] S.5 3. Konzepte zum Datenaustausch 43 Wobei jede Komponente ein Fenster zu einer Anwendung oder einem System darstellt, die durch denierte Beziehungen miteinander kommunizieren können. 38 Die Lotus Domino-Roadmap für die Anwendungsentwicklung baut auf der grundlegenden Voraussetzung auf, dass die Plattform Lotus Domino exibel, oen und anpassungsfähig ist. Dies zeigt sich an ihrer Unterstützung für XML und für zahlreiche Programmiersprachen und Unternehmensintegrationslösungen. 39 Die XML-Schnittstelle kann zum Da- tenaustausch zwischen Lotus Domino-Systemen und anderen Systemen verwendet werden, um auf Daten in einer Lotus Domino Datenbank zuzugreifen, sie in ein benötigtes Format umzuwandeln oder Daten in einer Lotus Domino Datenbank zu aktualisieren. 40 Die XML-Unterstützung ist nicht auf Anwendungsdaten beschränkt. Die Elemente einer Lotus Domino-Anwendung besitzen auch eine XML Repräsentation. Dadurch können Entwickler Code unter Verwendung einer standardisierten Denition gemeinsam nutzen und pegen. 41 Zur Unterstützung der Interoperabilität bietet Lotus Notes und Domino mehrere Schnittstellen zu einem einheitlichen Objektmodell. 42 Auf das Objektmodell von Lotus Notes/Domino kann aus einem Java EE-System mittels Java oder Lotus Domino-JSP-Tags über das JavaAPIs oder aus einer .NET-Umgebung über das COM zugegrien werden. 44 43 -APIs auf Lotus Domino-Services Lotus Notes/Domino bietet eine Web Service Unterstützung über Standardwebprotokolle wie XML, SOAP und HTTP. 45 Web Services 46 ermöglichen die verteilte Datenverarbeitung und Kommunikation zwischen unterschiedlichen Softwareanwendungen auf unterschiedlichen Plattformen. 47 Weiterhin bietet das einheitliche Lotus Connectors-API den programmgestützten Zugri auf systemeigene Verbindungen für gän- 38 Vgl. [IBM, 2007b] S.5 39 [IBM, 2007b] S.11 40 Vgl. [IBM, 2007b] S.12 41 [IBM, 2007b] S.12 42 [IBM, 2007b] S.12 43 COM ist ein von Microsoft entwickeltes Framework zum Objektaustausch, welches als Teil OLE beinhaltet. (Vgl. [Schmidt und Wohlberg, 2007] S.1219) 44 Vgl. [IBM, 2007b] S.12 45 [IBM, 2007b] S.12 46 Weitere Informationen unter Unterabschnitt 2.5.2 47 Vgl. [IBM, 2007b] S.12 3. Konzepte zum Datenaustausch 44 48 gige Datenbanksysteme, wie zum Beispiel IBM DB2 50 Query Language (SQL) Server und ODBC-Systeme. , Oracle Datenbank 49 , Structured 51 Der Lotus Notes Client ist die zentrale Schnittstelle, um auf E-Mails, Kalender, Kontakte und Anwendungen zugreifen zu können. Eine seitliche Aktionsleiste ermöglicht den schnellen Zugri auf oft verwendete Funktionen, wie beispielsweise die integrierten Instant-Messaging-Kontaktlisten von IBM Lotus Sametime oder RSS Feeds. 52 Die E-Mail-Funktionalität wurde dahingehend verbessert, indem beispielsweise durch das EMail-Threading zusammengehörige E-Mail-Nachrichten gruppiert angezeigt oder durch die Funktionalität des E-Mail-Rückrufs versehentlich versendete E-Mail-Nachrichten zu- 53 rückgerufen werden können. Eine hilfreiche Innovation stellt die Collaboration History dar. Die Collaboration History zeigt zu jedem Kontakt die E-Mails, Besprechungen, Chatnachrichten und sonstige Interaktionen an, somit hat man jederzeit die Übersicht über getätigte Kommunikation. Eine weitere Neuerung in der aktuellen Lotus Notes Version 8 sind die IBM Produktivitätstools. Die Produktivitätstools sind eine Gruppe von Anwendungen für die Textverarbeitung, Tabellenkalkulation und Präsentation: IBM Lotus Documents, IBM Lotus Spreadsheets und IBM Lotus Presentations. 55 (ODF) 54 Sie unterstützen das Open Document Format und sind zusätzlich in der Lage die Dokumente, Tabellen und Präsentationen 56 in Adobe Portable Document Format (PDF) Dateien zu konvertieren. Durch die Inte- gration von Oce Suites Anwendungen in Form der Produktivitätstools versucht IBM auch das Gebiet der individuellen Oce-Anwendungen 57 mit seinem Groupware-System abzudecken. Aus den Produktivitätstools ist IBMs neue Oce Suite Lotus Symphony als eigenständiges Produkt hervorgegangen. 48 Weitere Informationen unter 49 Weitere Informationen unter 50 Weitere Informationen unter 51 Vgl. [IBM, 2007b] S.13 59 http://www-306.ibm.com/software/data/db2 http://www.oracle.com/lang/de/database/index.html http://www.microsoft.com/germany/sql/2008/default.mspx 52 Vgl. [IBM, 2007d] S.5 53 Vgl. [IBM, 2007d] S.5 54 Vgl. [IBM, 2007c] S.2 55 Siehe OpenOce.org unter Unterabschnitt 3.1.2 56 Vgl. [IBM, 2007c] S.2,4 57 Vgl. Unterabschnitt 2.1.1 58 Siehe Lotus Symphony unter Unterabschnitt 3.1.2 59 Vgl. [Head, 2008] S.61 58 3. Konzepte zum Datenaustausch 45 GroupWise Das Groupware-System der Firma Novell heiÿt GroupWise und stammt von WordPerfect 60 Oce ab, das ab 1986 entwickelt wurde. 1993 wurde die Version 4.0 von Wordperfect Oce eingeführt, die aus dem bisher reinen E-Mail-System ein Groupware-System machte 61 und ergänzend Kalender- und Workow Funktionen enthielt. Novell WordPerfect und entwickelte daraus GroupWise 4.1. 63 Die aktuelle Ein Jahr später übernahm 62 64 Version 7 von GroupWise, die im Juni 2005 vorgestellt wurde , wird von den Betriebssystemen wie Novell Open Enterprise Server, NetWare, Linux und Windows unterstützt. 65 Der Groupwise Client steht für die Betriebssysteme Windows, Linux und Mac OS zur Verfügung. 66 Der GroupWise WebAccess-Client ermöglicht den Zugri auf den GroupWise Server über einen Webbrowser und kann auch auf Pocket PCs mit Windows und auf jedem mobilen Gerät eingesetzt werden, welches das Wireless Access 67 Protocol (WAP) 68 unterstützt. Auch ein Outlook-Connector existiert, der den Benutzer in die Lage versetzt Outlook als Groupware Client in Verbindung mit einem GroupWise Server zu verwenden. 69 GroupWise 7 bietet E-Mail- und Kalenderfunktionen, Instant Messaging, Aufgaben- und Dokumentenverwaltung mit integrierter Versionskontrolle sowie Funktionen zur Datenar- 70 chivierung. Zur sicheren Kommunikation unterstützt GroupWise oene Sicherheitsstan- dards wie SSL 71 , Secure / Multipurpose Internet Mail Extension (S/MIME) und Public 60 Vgl. [De Korte, 2006] S.25 61 Vgl. [Krause, 2002] 62 Vgl. [De Korte, 2006] S.25 63 Stand: Februar 2008 64 Vgl. [Novell, 2005] 65 Vgl. [Novell, 2007a] S.7 66 Vgl. [Novell, 2007a] S.5 67 Der WAP Standard bietet Mobilfunkteilnehmern Zugang zum Internet. Dabei sind die Inhalte auf das Wesentliche reduziert, um den Anforderungen eines mobilen Gerätes gerecht zu werden. (Vgl. [Lüders, 2001] S.204) 68 Vgl. [Novell, 2007a] S.5 69 Vgl. [Novell, 2007a] S.6 70 Vgl. [Novell, 2005] 71 Das SSL-Protokoll richtet mithilfe einer Verschlüsselung mit öentlichen Schlüsseln einen sicheren Kanal ein, der dann genutzt wird, um geheime Schlüssel für die spätere Datenübertragung auszutauschen. SSL wird auch allgemein dafür eingesetzt, um eine sichere Implementierung von existierenden Protokollen, wie beispielsweise MIME, IMAP, HTTP oder SMTP, zu realisieren. (Vgl. 3. Konzepte zum Datenaustausch 72 73 Key Infrastructure (PKI) . 46 GroupWise arbeitet mit mehreren Spamschutz-Ebenen, die den Empfang unerwünschter E-Mail-Nachrichten blockieren. 74 Weiterhin kann GroupWise mit Zusatzprodukten von Drittanbietern kombiniert werden, die beispielsweise einen Virenund Spamschutz integrieren. 75 Der in GroupWise integrierte Novell GroupWise Internet Agent ermöglicht den E-Mail Austausch mit anderen Groupware-Systemen, welche die oenen Protokolle POP/SMTP, IMAP, MIME und S/MIME unterstützen. 76 Da der GroupWise Internet Agent auch als LDAP-Server fungieren kann, sind die Benutzer in der Lage, LDAP-Anfragen zu Benutzerinformationen zu erstellen, die im GroupWise-Adressbuch enthalten sind. 77 GroupWise Web Service (GroupWise SOAP) ist eine plattformübergreifende Schnittstelle, mit der die GroupWise-Funktionen erweitert werden können. 78 GroupWise WebSer- vice ermöglicht den serverseitigen Zugri auf GroupWise-Benutzerkonten, sodass ClientAnwendungen erstellt, Nachrichten, Adressbücher und Ordner gelesen, geändert und angelegt, sowie ereignisgesteuerte Vorgänge ausgeführt werden können. 79 Kolab Im Folgenden wird, soweit keine andere Literatur angegeben ist, in Anlehnung an [Schütze, 2008] näher auf die Groupware Kolab eingegangen. Die Entwicklung von Kolab geht auf eine Ausschreibung durch das Bundesamt für Sicher- 80 heit in der Informationstechnik (BSI) zurück. Ziel der Ausschreibung war die Entwick- lung einer Open Source Groupware-Lösung basierend auf freier Software. 81 Im Oktober 2002 wurde die Ausschreibung an drei Unternehmen (Intevation GmbH, Erfrakon und Klarälvdales Datakonsult) vergeben, die das Projekt unter dem Projektnamen Kroupware [Coulouris et al., 2002] S.297 und S.352) 72 PKI ist ein Oberbegri ([Lieberwirth, 2004] S.708) 73 Vgl. [Novell, 2006a] S.18 74 Vgl. [Novell, 2006a] S.5 75 Vgl. [Novell, 2007b] S.19 76 Vgl. [Novell, 2007a] S.6 77 Vgl. [Novell, 2007a] S.6 78 Vgl. [Novell, 2007a] S.7 79 Vgl. [Novell, 2007a] S.7 80 Vgl. [Schütze, 2008] S.7 81 Vgl. [Schütze, 2008] S.7 für die Verwendung von öentlichen und privaten Schlüsseln. 3. Konzepte zum Datenaustausch fertig stellten. 82 47 Die Softwarekomponenten des Kolab Projektes heiÿen Kolab Server, sowie K Desktop Environment (KDE) neral Public Licence (GPL). 84 83 Kolab Client und stehen als Open Source unter der Ge- Im Juli 2003 erschien die erste stabile Version von Kolab1 85 und zwar der Kolab Server 1.0 und der KDE Kolab Client 1.0. Um Groupware-Daten plattformübergreifend zugreifbar zu machen, wurde in Kolab2 das Kolab XML Format 86 eingeführt und im Juni 2005 der Kolab Server 2.0 veröentlicht. Aktuell 87 ist der Kolab Server 2.2.0 in der Entwicklung, der voraussichtlich im ersten Quar- 88 tal 2008 fertiggestellt werden soll. Kolab ist in erster Linie ein Konzept, wie mit freier Software eine skalierbare, stabile und sichere Groupware-Lösung umgesetzt werden kann. In dieser Idee unterscheidet sich Kolab bereits von vielen anderen Produkten, welche Kommunikation und Arbeitsgruppen unterstützen möchten. [...] Bei Kolab entsteht der Nutzen im Zusammenspiel von Client und Kolab-Server. Es werden Groupware-Funktionen zum Austauschen von E-Mails, Freigeben und Bearbeiten von Dateien, sowie Verwalten von Kontakten, Terminen, Aufgaben und Notizen auf Basis oener Standards geboten. 90 Die Nutzerdaten werden in Ordnern zentral auf dem Kolab-Server gespeichert. 89 Jeder Nutzer verwaltet seine Ordner selbstständig und kann diese auch für andere Nutzer freigeben. 91 Die E-Mail Funktionalität beinhaltet beispielsweise eine Abwesenheitsbenachrich- 92 tigung und eine E-Mail-Weiterleitung. Durch die vollwertige Unterstützung von IMAP, POP3, SMTP sind die Voraussetzungen für die Unterstützung durch jeden Mail-Client gegeben. 93 82 Vgl. [Schütze, 2008] S.7 83 KDE ist ein vollständig integrierter Desktop für das X Window-System und bei vielen LinuxDistributionen der Standard-Desktop. (Vgl. [Drilling et al., 2000] S.179) 84 Vgl. [Schütze, 2008] S.7 85 Vgl. [Schütze, 2008] S.7 86 Vgl. [Schütze, 2008] S.7 87 Stand: Februar 2008 88 Vgl. [Schütze, 2008] S.7 89 [Schütze, 2008] S.6 90 Vgl. [Schütze, 2008] S.7 91 Vgl. [Schütze, 2008] S.7 92 Vgl. [Schütze, 2008] S.7 93 Vgl. [Schütze, 2008] S.7 3. Konzepte zum Datenaustausch 48 Bei der Entwicklung von Kolab liegt ein Schwerpunkt auf die Implementierung von Sicherheitsmechanismen auf der Applikations- und Transportebene. 94 Zur Verschlüsselung von E-Mail kann optional auf Seiten des KDE Kolab-Clients das PKI Verschlüsselungsverfah- 95 ren eingesetzt werden. Die Kommunikation zwischen Server und Client ndet über SSL- verschlüsselte Protokolle wie Internet Message Access Protocol über SSL/TLS (IMAPS), Simple Mail Transfer Protocol über SSL/TLS (SMTPS) und Hypertext Transfer Protocol über SSL/TLS (HTTPS) statt und gewährleistet eine sichere Kommunikation auf Transportebene. 96 Ein weiterer Sicherheitsaspekt des Kolab-Konzepts ist die Implementierung einer Access Control List (ACL), um die Berechtigungen der Benutzer bei Zugri auf 97 Verzeichnisse oder Postfächer zu denieren. Als optionale Sicherheitsmechanismen des Kolab-Servers sind die Open Source Schnittstelle A Mail Virus Scanner (AMaViS) für Virenscanner und die Skriptsprache Sieve, mit deren Hilfe Spamnachrichten ausgeltert 98 werden können, zu nennen. Mit Hilfe von AMaViS kann der E-Mail Verkehr auf Viren 99 untersucht und somit die Verbreitung von Schädlingen eingedämmt werden. Der KDE Kolab-Client bündelt viele Einzelprogramme (u. a. KMail, KAdressbook, KOrganizer, KNotes) aus der KDE-Umgebung zu einem Programm und ist für alle Betriebssysteme (zum Beispiel Linux, UNIX, Mac OS), bei denen der Windowmanager KDE eingesetzt 100 werden kann, verfügbar. Seit der Kolab Server Version 2.2 ist auch der Horde Webclient integraler Bestandteil, um die Groupwarefunktionalitäten auch plattformunabhängig im 101 Webbrowser nutzen zu können. 102 Neben dem oziellen Kolab Server, sowie den Kolab-Clients Kontact und Horde 103 bereits weitere Entwicklungen vention Groupware Server 105 104 von Drittanbietern. Als Kolab-Server noch ist der Uni- vorhanden. Um Microsoft Outlook Groupware-Funktionalitäten 94 Vgl. [Schütze, 2008] S.28 95 Vgl. [Schütze, 2008] S.7 96 Vgl. [Störmer, 2004] S.18 97 Vgl. [Störmer, 2004] S.28 98 Vgl. [Störmer, 2004] S.29 99 Vgl. [Störmer, 2004] S.29 100 [Schütze, 2008] S.64 101 Vgl. [Schütze, 2008] S.65 102 http://www.horde.org 103 Stand: Januar 2008 104 Vgl. [Schütze, 2008] S.7 105 Weitere Informationen unter , gibt es http://www.univention.de/ugs.html 3. Konzepte zum Datenaustausch 49 eines Kolab Clients zu ermöglichen, existieren proprietäre Outlook-Konnektoren von Toltec 107 KONSEC und Bynari 106 108 109 . OX Die erste Version ihres Groupware-Systems entwickelte Netline 110 1998 als Browser-basierte Webanwendung mit Funktionen wie Kalender, Kontakt- und einem kleinen Projektma- 111 nagement. Im Jahr 2000 stellte Netline zusammen mit Compaq das System comFire vor, welches eine Linux-basierte Weiterentwicklung darstellte. 112 Die SuSE Linux AG in- tegrierte 2001 die Groupware-Funktionen von ComFire in ihren Suse Linux Openexchange Server (SLOX), der explizit auf den SUSE Linux Enterprise Server abgestimmt wurde und somit zwar Open Source Code beinhaltete, jedoch letztendlich eine proprietäre Software 113 war. Netline entwickelte daraufhin das Groupware-System OX aus reinen Open Source 114 Komponenten und stellte es im August 2004 unter die GPL. Es bietet Groupware- Funktionen wie gemeinsame Nutzung von E-Mail, Kontakten, Kalendern, Aufgabe und Datensicherung in Echtzeit. Die aktuelle 116 115 Version der OX Community Edition ist OX Server 0.8.8-0. Die kommerziel- 117 le Variante von OX Server liegt aktuell in der Version 5 vor und enthält alle Funktionen 118 des Open Source Projekts OX Server 0.8. Zusätzlich erweitert es den Leistungsumfang unter anderem um Konnektoren für Outlook und Palm, einem Web-Interface für Administratoren, Handbücher und Installationssupport. 119 Für eine erhöhte Netzwerksicherheit 120 stehen auch noch lizenzfreie Anti-Virus und Anti-Spam Module zur Verfügung. 106 http://www.toltec.co.za 107 http://www.konsec.com 108 http://www.bynari.com 109 Vgl. [Schütze, 2008] S.7 110 http://netline-is.de 111 Vgl. [Hierlmeier, 2004] 112 Vgl. [Hierlmeier, 2004] 113 Vgl. [Hierlmeier, 2004] 114 Vgl. [Feilner, 2007] S.3 115 [Hierlmeier, 2004] 116 Stand: Februar 2008 117 Stand: Februar 2008 118 Vgl. [c't, 2005] 119 Vgl. [c't, 2005] 120 Vgl. [Open-Xchange, b] OX , 3. Konzepte zum Datenaustausch 50 Server 5 unterstützt die beiden führenden Enterprise Linux Distributionen Red Hat und SUSE und ist auch als Collax OX Server 121 122 verfügbar. OX Server 5 stellt eine erweiter- bare Integrationsplattform (OX Framework) durch den Einsatz und die Implementierung von oenen Standards, Protokollen und Dateiformaten dar und bietet somit die Möglichkeit weitere Module, wie beispielsweise ein Instant-Messanger oder einen VoIP-Dienst, einzubinden. 123 Als Groupware Client stehen bei OX der OX Web-Client oder die Verwen- dung des OXtender für Microsofts Outlook bereit, der die volle Groupware Funktionalität bietet. 124 Auswahl einer Groupware Nach der Betrachtung einiger Groupware-Systeme soll nun ein System ausgewählt werden, welches die besten Voraussetzungen für eine Datenaustauschlösung mit Oce Suites ermöglicht. Dabei ist wichtig, dass es mit diesem Groupware-System möglich ist, Groupwarebasierte Anwendungen zu implementieren und ausführen zu lassen. Als weitere Anforderung an das auszuwählende Groupware-System, sind die angebotenen Schnittstellen zu nennen. Microsoft Exchange ermöglicht es zwar .NET Erweiterungen zu implementieren, jedoch ist 125 dies nur auf das Betriebssystem Windows beschränkt. Auch stellt Microsoft Exchange von Hause aus kein eigenes DMS zur Verfügung. Dies lässt sich nur durch Produkte von Drittanbietern nachrüsten. GroupWise von Novell besitzt eine Dokumentenverwaltung ge Zusatzprodukte 127 126 und ist auch in der La- zu integrieren, jedoch fehlt es an einer integrierten Entwicklungs- umgebung, um die Implementation von Groupware-basierte Anwendungen zu ermöglichen. GroupWise stellt mit dem GroupWise Web Service eine plattformübergreifende Schnittstelle zur Verfügung, mithilfe dessen Web Services auf die Funktionalitäten des Groupware-Systems zugreifen können. 121 Weitere Informationen unter http://www.collax.com/de/loesungen/groupware.html 122 Vgl. [Open-Xchange, a] 123 Vgl. [Laguna de la Vera, 2007] S.8 124 Vgl. [Open-Xchange, a] 125 Vgl. [Microsoft, 2007] 126 Vgl. [Novell, 2005] 127 Vgl. [Novell, 2007b] S.19 128 Vgl. [Novell, 2007a] S.7 128 3. Konzepte zum Datenaustausch 51 Das Groupware-System Kolab besitzt durch seine Architektur, die auf oenen Standards und freier Software basiert, ein groÿes Potential Erweiterungen zu implementieren. 129 Auch werden die Daten der Benutzer zentral auf dem Kolab-Server in Datenbanken ver- 130 waltet. Jedoch ist das Ziel von Kolab die Standardfunktionen einer Groupware durch das Zusammenspiel von Client und Kolab-Server zur Verfügung zu stellen und nicht die Bereitstellung einer integrierten Entwicklungsumgebung von Groupware-basierten Anwendungen. 131 Die Architektur des Groupware-Systems OX stellt eine erweiterbare Integrationsplattform (OX Framework) durch den Einsatz und die Implementierung von oenen Standards, 132 Protokollen und Dateiformaten dar. Somit bietet es die Möglichkeit weitere Module zu implementieren und in das Groupware-System einzubinden. 133 Auch stellt es eine Anzahl von Schnittstellen bereit, die OX zum potentialen Kandidaten für die Auswahl eines Groupware-Systems machen, um in dieser Arbeit eine Datenaustauschlösung mit Oce Suites zu realisieren. Lotus Notes/Domino ist eher eine Applikationsplattform mit eigener Datenbankentwicklungsumgebung, die zusätzlich ein Dokumentenmanagement, Groupwareanwendungen, Administrationswerkzeuge und viele anderen Technologien und Funktionalitäten integriert. 134 Lotus Notes/Domino stellt ein Objektmodell zur Verfügung auf das mithilfe 135 unterschiedlicher Schnittstellen zugegrien werden kann. Dazu zählen unter anderem APIs für die Programmiersprachen C und Java und die Technologie COM. stehen eine Webervice Unterstützung RCP Framework 138 137 136 Weiterhin , die Makrosprache LotusScript und das Eclipse für die Anwendungsentwicklung zur Verfügung. Die Groupware-Systeme Lotus Notes/Domino und OX bieten gegenüber den anderen Groupware-Systemen die besten Voraussetzungen für die Realisierung einer Datenaus- 129 Vgl. [Schütze, 2008] S.6 130 Vgl. [Schütze, 2008] S.7 131 Vgl. [Schütze, 2008] S.6 132 Vgl. [Laguna de la Vera, 2007] S.8 133 Vgl. [Laguna de la Vera, 2007] S.8 134 Vgl. [Feilner, 2007] S.5 135 Vgl. [IBM, 2007b] S.12 136 Vgl. [IBM, 2007b] S.12 137 Vgl. [IBM, 2007b] S.12 138 [IBM, 2007b] S.7 3. Konzepte zum Datenaustausch 52 tauschlösung mit Oce Suites. Sie stellen beide eine leicht erweiterbare Applikationsplattform dar und bieten eine Reihe von Schnittstellen zum Zugri auf das Groupware-System an. Lotus Notes/Domino besticht jedoch durch die integrierte Datenbankentwicklung und das Objektmodell, welches über viele verschiedenen APIs verwendbar ist. Das GroupwareSystem OX ist eher eine Alternative auf dem Groupwaremarkt, wohingegen Lotus/Domino einen sehr hohen Marktanteil inne hat. Somit werden sich die weiteren Ausführungen in dieser Arbeit lediglich auf das Groupware-System Lotus Notes/Domino beschränken. 3.1.2. Oce Suites Wie in Abschnitt 2.3 ausgeführt wurde, sind Oce Suites eine Sammlung von Softwarewerkzeugen, die zur Erhöhung der individuellen Produktivität am Büroarbeitsplatz beitragen soll. 139 Bei den Oce Suites auf dem Markt variiert der Umfang dieser Softwarewerk- zeuge. Jedoch kann festgestellt werden, dass die Kernanwendungen zur Textverarbeitung, Tabellenkalkulation und Präsentation bei den meisten Produkten vorhanden sind. Die folgende technische Betrachtung der Oce Suites soll sich einerseits auf die Oce Suites beziehen, die diesen Markt beherrschen. Dazu zählt vor allem das proprietäre Produkt Microsoft Oce, das nach [Miedl, 2007] einen Markanteil von über 90% innehat. Und die lizenzfreie Oce Suite OpenOce.org, da es die einzige Oce Suite ist, die in 140 den letzen Jahren Marktanteile hinzugewinnen konnte. Aussagen über den Marktanteil von OpenOce.org lassen sich nur sehr ungenau machen, da die Schätzungen zwischen 3% und 15% schwanken. 141 Anderseits soll sich die technische Betrachtung auf die Oce Suites Lotus SmartSuite und Lotus Symphony von IBM beziehen, da Lotus SmartSuite sehr gut mit Lotus Notes/Domino verzahnt und Lotus Symphony ein Abkömmling der freien Oce Suite OpenOce.org ist. Microsoft Oce Microsoft führte im Jahre 1990 seine erste Oce Suite ein, die aus der Textverarbeitung Word, der Tabellenkalkulation Excel und der Präsentationssoftware PowerPoint be- 139 Vgl. [Hansen und Neumann, 2005] S.339 140 Vgl. [Zwahlen, 2004] S.10 141 Vgl. [Schule mobil, 2007] S.2 3. Konzepte zum Datenaustausch stand. 142 53 1993 kam die Version 4.0 auf dem Markt, die zusätzlich zu Word, Excel und PowerPoint den E-Mail-Client Mail und das Datenbankverwaltungssystem Access beinhaltete. 143 Mit Oce 2007 wurde die erste Version des Personal Information Managers (PIMs) 144 Outlook in die Oce Suite integriert. Die aktuelle 145 Version der Oce Suite von Microsoft ist die Version 2007. Es existieren un- terschiedliche Varianten der Oce Suite, die sich im Lieferumfang der Programmkomponenten unterscheiden. Beispielsweise enthält die Standard Version von Oce 2007 nur die Basisausstattung mit Word, Excel, Powerpoint und dem PIM Outlook für Windows oder 146 dem PIM Entourage für Mac OS. Dagegen umfasst der Lieferumfang der Enterprise Ver- sion zusätzlich noch 6 Komponenten. Dazu gehören Access, der Communicator, OneNote, Groove, InfoPath und der Publisher. 147 Der Communicator ist ein Kommunikationsclient, der die Kommunikation mit anderen Benutzern an unterschiedlichen Standorten durch 148 Kommunikationsmöglichkeiten wie Textnachrichten, Sprache und Video ermöglicht. Er ist eng in den anderen Microsoft Oce-Programmen integriert und kann daher aus dem Kontext des gerade verwendeten Programms genutzt werden. 149 Oce OneNote 2007 ist ein Notizen- und Informationsverwaltungsprogramm mit dem elektronische Notizen er- 150 stellt, organisiert, durchsucht und für andere Teammitglieder freigeben werden können. Dank der dezentralen Architektur von Oce Groove 2007 können Teams Informationen von beliebigen Orten aus freigeben, selbst wenn sie nicht mit dem Unternehmensnetzwerk verbunden sind. 151 Oineinhalte werden automatisch synchronisiert, sobald eine Inter- netverbindung besteht, sodass alle Teammitglieder auf relevante Projektdaten zugreifen und die Aktivitäten von Teammitgliedern, sowie Änderungen an Dokumenten, überwachen können. 152 Oce Groove 2007 und Oce OneNote 2007 reduzieren die Speicher- platzanforderungen für E-Mails, da sie Teamzusammenarbeitsaktivitäten aus der E-Mail 142 Vgl. [Allan, 2001] S.103 143 Vgl. [Allan, 2001] S.103 144 Vgl. [Voss, 2004] S.12 145 Stand: Februar 2008 146 Vgl. [Microsoft, 2008h] 147 Vgl. [Microsoft, 2008a] 148 Vgl. [Microsoft, 2008b] 149 Vgl. [Microsoft, 2008b] 150 Vgl. [Microsoft, 2008c] 151 [Microsoft, 2008d] 152 Vgl. [Microsoft, 2008d] 3. Konzepte zum Datenaustausch heraus verlagern. 153 54 Oce InfoPath 2007 kann dazu verwendet werden elektronische For- 154 mulare zu entwerfen und auszufüllen. Da InfoPath auf XML basiert, kann es mit einer Reihe von anderen Programmen und Servern im Microsoft Oce-System, einschlieÿlich 155 Outlook, Excel und Access, interagieren. Oce Publisher 2007 ist ein Publishingpro- gramm, mit dem Marketing- und Kommunikationsmaterial erstellt, entworfen und veröf- 156 fentlicht werden kann. In Oce 2007 hat Microsoft in Word, Excel, PowerPoint, Outlook und Acces mit der Oberäche Fluent ein neues Bedienkonzept eingeführt, welches die Übersichtlichkeit verbessern und die Produktivität steigern soll. im Oce-System Unterstützung. 158 157 Wikis und Blogs nden nun ebenfalls Weiterhin hat Microsoft ein neues Dokumentenformat eingeführt, das sogenannte Open XML. Oce Open XML ist ein vorgeschlagener, internationaler oener Standard für Textverarbeitungsdokumente, Präsentationen und Tabel- 159 lenkalkulationen. Die Arbeit an der Standardisierung von Open XML wurde vom Fach- ausschuss TC45 der privaten Normungsorganisation Ecma International geleistet. Dieser Gruppe gehören Vertreter u.a. von Microsoft, Apple, Intel, Novell und Toshiba an. 160 Dabei steht die Verzahnung mit den proprietären Binärformaten von Microsoft im Mittelpunkt: OpenXML was designed from the start to be capable of faithfully representing the pre-existing corpus of word-processing documents, presentations, and spreadsheets that are encoded in binary formats dened by Microsoft Corporation. 161 Nach Einschätzung von Forrester-Analyst John Rymer positioniert Microsoft sein OceSystem nun noch klarer als zuvor als Entwicklungsplattform für Geschäftsanwendungen. [...] Mit Oce 2007 hat Microsoft sein Büropaket erstmals durchgängig in seine Plattform integriert. Damit geht das Unternehmen nun einen gröÿeren Schritt weg von der angestammten Desktop-Produktivität hin zu individuelleren, kollaborativen und geschäft- 153 [Microsoft, 2008d] 154 Vgl. [Microsoft, 2008e] 155 Vgl. [Microsoft, 2008e] 156 Vgl. [Microsoft, 2008f] 157 Vgl. [Microsoft, 2008g] 158 Vgl. [Miedl, 2007] 159 Vgl. [Ngo, 2007b] S.1 160 Vgl. [Ngo, 2007a] S.1 161 [Ngo, 2007b] S.1 3. Konzepte zum Datenaustausch lichen Anwendungen. 162 55 Die Oce-Applikation selbst bildet keine geschlossene Einheit mehr, sondern präsentiert sich als Komponentenbaukasten. 163 Somit können Entwickler Outlook, Word und Excel als Benutzeroberächen im Zusammenhang mit Geschäftsprozessen, Transaktionen, Content-Management und anderen Back-Oce-Lösungen einsetzen. 164 OpenOce.org StarOce wurde Mitte der 80er Jahren von der Firma StarDivision geschrieben und 1999 165 von Sun Microsystems gekauft. Nachdem im August 1999 die erste StarOce Ver- sion veröentlicht wurde, entschied sich Sun im Oktober 2000 dazu den Quelltext von 166 StarOce als Open Source freizugeben. Somit wurde im Mai 2002 die Version 1.0 der freien Oce Suite OpenOce.org präsentiert. 167 StarOce wurde von Sun als kommerzi- elle Version weitergeführt und besteht im Wesentlichen aus OpenOce.org, angereichert mit zusätzlicher Software und Services (zum Beispiel Rechtschreibhilfe, Schriftarten, Hilfesystem und zusätzlichen Importlter für Fremdformate) und einem ergänzendem Support. 168 OpenOce.org 1.0 enthielt die Textverarbeitung Writer, die Tabellenkalkulation Calc und die Präsentationsanwendung Impress. 169 OpenOce.org wurde unter den bei- den Lizenzen Sun Industry Standards Source License (SISSL) und LGNU Lesser General Public License (LGPL) gestellt. 170 Nach der SISSL Lizenz dürfen beispielsweise proprie- täre Erweiterungen zur Software hinzugefügt und diese modizierte Software unter einer 171 eigenen Marke vertrieben werden. Die LGPL Lizenz basiert auf der GPL Lizenz, die von Richard Stallman entworfen wurde und das Ziel verfolgt freie Software zu schützen. 172 Im Groben fordert die GPL vier Freiheiten ein: 162 Vgl. [Miedl, 2007] 163 Vgl. [Miedl, 2007] 164 Vgl. [Miedl, 2007] 165 Vgl. [Head, 2008] S.10 166 Vgl. [Head, 2008] S.10 167 Vgl. [Head, 2008] S.10 168 Vgl. [S., 2001] 169 Vgl. [Gibson, 2005] S.344 170 Vgl. [Berndt, 2005] S.5 171 Vgl. [S., 2001] 172 Vgl. [Berndt, 2005] S.4 173 Vgl. [Berndt, 2005] S.4 173 3. Konzepte zum Datenaustausch 56 1. Die Freiheit das Programm auszuführen. 2. Die Freiheit, Kopien zu erstellen und zu verbreiten. 3. Die Freiheit, Modikationen am Quelltext durchzuführen und das geänderte Programm ebenfalls wieder unter die GPL zu stellen. 4. Die Freiheit des freien Zugangs zum Quellcode des Programmes. Im Gegensatz zur GPL dürfen bei der LGPL jedoch alle unter diesen Nutzungsbedingungen stehenden Bibliotheken bzw. Programme in kommerzielle Software eingebunden 174 werden. Im Oktober 2005 folgte OpenOce.org 2.0. 175 Seit dieser Version steht OpenOce.org nicht mehr unter der SISSL, sondern nur noch unter der LGPL. 176 Das Datenbankverwal- tungssystem Base kam hinzu, welches als Frontend für Tabellen und Abfragen dient und 177 externe Datenbanken anbinden kann. Auch wurde für alle Dokumententypen die nächs- 178 te Generation des Dateiformates eingeführt und zwar ODF. ODF ist ein XML-basiertes oenes und programmunabhängiges Datenformat für den Austausch von Dateien zwischen verschiedenen Oce-Programmen. 179 Es wurde vom ODF Technical Committee innerhalb der Organization for the Advancement of Structured Information Standards (OASIS) Standardisierungsorganisation entwickelt und ist seit November 2006 ein International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC) 180 freigegebener Standard. Das OASIS Whitepaper [Novell, 2006b] deniert das Ziel von ODF folgendermaÿen: The ODF was designed to be vendor neutral and implementation agnostic. It was designed to be used by as many applications as possible. In order to simplify transformations and to maximize interoperability, the format reuses established standards ... 181 174 Vgl. [Berndt, 2005] S.5 175 Vgl. [Head, 2008] S.10 176 Vgl. [Berndt, 2005] S.6 177 Vgl. [Koer, 2005] S.128 178 Vgl. [Thalmayr, 2005] S.163 179 Vgl. [IBM, 2007c] S.3 180 Vgl. [IBM, 2007c] S.3 181 [Novell, 2006b] S.10 3. Konzepte zum Datenaustausch Aktuell 182 57 ist OpenOce.org in der Version 2.4 für die Betriebssystemplattformen Win- dows, Mac OS, Linux und Sun Solaris verfügbar. 183 Die Community von OpenOce.org treibt die Entwicklung beständig voran, sodass alle sechs Monate ein neues Release von OpenOce.org erscheint. 184 Durch die Softwarearchitektur können separat installierbare Erweiterungen und ganze Anwendungen in OpenOce.org integriert werden. Es existieren bereits zahlreiche solcher Anwendungen, wie beispielsweise der Mind-Map-Editor Free- 185 Mind, das Desktop-Publishing-Programm Scribus O3Spaces 187 188 , das mit Microsoft Sharepoint an Dokumenten ermöglicht. 189 186 , das freie Statistikpaket R oder vergleichbar ist und eine Zusammenarbeit Somit hilft das ODF, dass immer mehr Lösungen rund um OpenOce.org entstehen. Um diesen Prozess zu unterstützen und zu beschleunigen, beginnt Sun Microsystems auf OpenOce.org gerade ein neues Projekt zur Entwicklung eines ODF-Toolkits. 190 191 Macros können in der Basic-Integrated Development Environment (IDE) sic 192 in StarBa- oder anderen Skript- und Programmiersprachen, insbesondere Python und Java 193 erstellt werden. Auch steht ein API mit Namen Universal Network Object (UNO) zur Verfügung, mit deren Hilfe die Interoperabilität zwischen unterschiedlichen Program- 194 miersprachen, Objektmodellen, Systemarchitekturen und Prozessen gewährleistet ist. Zur Zeit ist UNO für Linux, Solaris, Windows, Power PC, FreeBSD und Mac OS verfügbar. 195 Die direkt unterstützten Programmiersprachen sind Java, C++, Python und 182 Stand: März 2008 183 Vgl. [Koll, 2007] S.28 184 Vgl. [Tenhumberg, 2007] S.1 185 http://www.scribus.net 186 http://www.r-project.org 187 http://www.o3spaces.org 188 Weitere Informationen unter http://office.microsoft.com/de-de/sharepointserver/ FX100492001031.aspx 189 Vgl. [Tenhumberg, 2007] S.2 190 Vgl. [Tenhumberg, 2007] S.2 191 IDE ist eine integrierte Software-Entwicklungsumgebung mit einer graschen Benutzerschnittstelle. Die Funktionen umfassen beispielsweise das Editieren, das Debugging und die Unterstüt- zung groÿer Projekte mit mehreren Entwicklern durch eine integrierte Versionskontrolle. (Vgl. [Schmidt und Wohlberg, 2007] S.1224) 192 Wird auch als OpenOce.org Basic bezeichnet. 193 Vgl. [Horst, 2004] S.92 194 Vgl. [Head, 2008] S.17 195 Vgl. [Schmidt und Wohlberg, 2007] S.33 3. Konzepte zum Datenaustausch die OpenOce.org Skriptsprache Basic. 58 196 Durch die COM-Schnittstelle ist UNO für viele weitere Sprachen verwendbar. Weiterhin besteht durch das Common Language Infrastructure 197 (CLI), welches Teil des .NET Frameworks von Microsoft ist , die Möglichkeit das UNO- API von Skriptsprachen wie JavaScript oder Beanshell, zugreifbar zu machen. 198 Lotus SmartSuite Die Oce Suite Lotus SmartSuite, die ursprünglich von der Firma Lotus entwickelt wurde, wurde im Jahre 1996 von IBM übernommen. 199 Seitdem wurde Lotus SmartSuite 200 immer mehr mit dem Groupware-System Lotus Notes/Domino verzahnt. IBM Lotus SmartSuite beinhaltet die Tabellenkalkulation Lotus 1-2-3, die Textverarbeitung Word Pro, das Präsentationsprogramm Freelance Graphics, den PIM Lotus Organizer und das Datenbankverwaltungssystem Approach. 201 Die Lotus SmartSuite Komponenten Lotus 202 1-2-3 und Lotus Organizer sind auch als eigenständige Produkte erhältlich. 203 Lotus SmartSuite ist aktuell in der Version 9.8 204 für Windows und in der Version 1.7 205 für OS/2 erhältlich. Da Lotus SmartSuite mit dem Groupware-System Lotus Notes/Domino interagieren kann, ist sie besonders für die Teamarbeit geeignet. 206 Beispielsweise können Daten aus Lotus Freelance Graphics mit Lotus Notes gemeinsam genutzt werden oder innerhalb von Lotus Approach auf Notes Datenbanken zugegrien und untereinander Daten ausgetauscht 207 werden. Auch steht in Lotus SmartSuite die objektorientierte Programmiersprache LotusScript zur Verfügung, um Aufgaben in den Komponenten zu automatisieren. 208 196 Vgl. [Schmidt und Wohlberg, 2007] S.33 197 Vgl. [Schwichtenberg und Eller, 2004] S.986 198 Vgl. [Schmidt und Wohlberg, 2007] S.33 199 Vgl. [Zisman, 1996] 200 Vgl. [Zisman, 1996] 201 Vgl. [IBM, 2008a] 202 Vgl. [IBM, 2008a] 203 Stand: Februar 2005 204 Weitere Informationen unter features.html 205 Weitere Informationen unter os2.html http://www-306.ibm.com/software/lotus/products/smartsuite/ http://www-306.ibm.com/software/lotus/products/smartsuite/ 206 Vgl. [IBM, 2008d] 207 Vgl. [IBM, 2008b] und [IBM, 2008c] 208 Vgl. [Weber, 1998] 3. Konzepte zum Datenaustausch 59 Lotus Symphony IBMs neue Oce Suite Lotus Symphony ist als eigenständiges Produkt aus den in dem Groupware-System Lotus Notes 8 integrierten Produktivitätstools hervorgegangen. 209 Die Produktivitätstools basieren auf der Version 1.1 der freien Oce Suite OpenOce.org. 210 Lotus Symphony umfasst nur die Basiskomponenten einer Oce Suite und zwar die Textverarbeitung Symphony Documents, die Tabellenkalkulation Symphony Spreadsheets 211 und die Präsentationslösung Symphony Presentations. Genau wie Lotus Notes 8 läuft Lotus Symphony in IBMs Open Source Entwicklungsumgebung Eclipse. 212 Diese Plug-in- Architektur ermöglicht es Entwicklern Ergänzungen für die Oce Suite zu schreiben. 214 Die aktuell letzte Betaversion 4 wurde im Februar 2008 freigegeben. 215 213 Lotus Symphony ist beim Design der Benutzerschnittstelle dem Vorbild der meisten Webbrowsern gefolgt und verwendet ein Tab-Interface. 217 Dokument. 216 Dabei repräsentiert jeder Tab ein anderes oenes Tabs für Dateien aus der Textverarbeitung, der Tabellenkalkulation und der Präsentationssoftware können nebeneinander angeordnet sein und somit den Wechsel 218 zwischen den Programmen erleichtern. IBM setzt bei Lotus Symphony auch auf den freien Industriestandard ODF als standardmäÿiges Dokumentenformat, welches auch in 219 OpenOce.org verwendet wird. 3.2. Re-Engineering der PAVONE OceGateway Schnittstelle Das Ziel dieser Arbeit lässt sich nach der Auswahl des Groupware-Systems Lotus Notes/Domino nun präziser formulieren. Es soll ein Schnittstellenkonzept erstellt werden, welches den 209 Vgl. [Head, 2008] S.61 210 Vgl. [Head, 2008] S.10 211 Vgl. [Borland, 2007] 212 Vgl. [Head, 2008] S.62 213 Vgl. [Borland, 2007] 214 Stand: Februar 2008 215 Vgl. [Pte, 2008] 216 Vgl. [Borland, 2007] 217 Vgl. [Borland, 2007] 218 Vgl. [Borland, 2007] 219 Vgl. [Borland, 2007] 3. Konzepte zum Datenaustausch 60 Datenaustausch zwischen Lotus Notes/Domino-basierten Anwendungen und Oce Suites ermöglicht. Es existiert bereits eine Datenaustauschlösung von der Firma PAVONE und zwar die PAVONE OceGateway Schnittstelle, die den bi-direktionalen Datenaustausch 220 zwischen Lotus Notes/Domino und Oce Suites ermöglicht. Zu den unterstützten Oce Suites zählen Microsoft Oce, Lotus SmartSuite und OpenOce.org. Genauer ist der Datenaustausch mit folgenden Komponenten der jeweiligen Oce Suites möglich: 221 1. Microsoft Oce: Word, Excel, PowerPoint 2. Lotus SmartSuite: WordPro, Lotus 1-2-3 3. OpenOce.org: Writer, Calc Die aktuelle PAVONE OceGateway Schnittstelle funktioniert jedoch nur unter dem Win- 222 dows Betriebssystem, da die COM-Technologie verwendet wird. Die COM-Technologie ist bei den technischen Grundlagen im Unterabschnitt 2.5.1 näher erläutert. Da seit der Version 8 von Lotus Notes auch Linux unterstützt wird, besteht der Wunsch auch einen Datenaustausch zwischen der Linuxvariante von Lotus Notes und den OceSuites, die auf Linux lauähig sind, zu ermöglichen. OpenOce.org und Lotus Symphony sind die einzigen in Unterabschnitt 3.1.2 betrachteten Oce Suites, die auch für Linux verfügbar sind. Da Lotus Symphony ein Abkömmling der freien Oce Suite OpenOce.org ist und sich zur Zeit noch im Entwicklungsstadium bendet, wird sich die folgende Arbeit lediglich auf OpenOce.org beschränken. Um entsprechende Datenaustauschkonzepte zu entwickeln, zu diskutieren und bewerten zu können, soll in diesem Abschnitt ein ReEngineering der PAVONE OceGateway Schnittstelle durchgeführt werden. Nach der Denition von [Klösch und Gall, 1995] ist Re-Engineering die Untersuchung und Änderung eines bestehenden Systems mit dem Ziel, das System in einer neuen, geänderten Form zu implementieren. Dies kann sich auch auf die Adaptierung des Systems an geänderte Anforderungen erstrecken. 223 Dabei wird die OceGateway Schnittstelle als integraler Bestandteil der Groupware-basierten Anwendung PAVONE Enterprise Oce untersucht. PAVONE Enterprise Oce ist eine auf dem Groupware-System Lotus Notes basierende Anwendung für das Prozess- und Informationsmanagement und unterstützt die 220 Vgl. [PAVONE, 2007] S.5 221 Vgl. [PAVONE, 2007] S.5 222 Vgl. [PAVONE, 2007] S.5 223 [Klösch und Gall, 1995] S.9 3. Konzepte zum Datenaustausch 61 Adressverwaltung, das Korrespondenz- sowie Dokumentenmanagement und die Archivie- 224 rung. OceGateway als standardisierte und kongurierbare Schnittstelle ist nicht nur in PAVONE Enterprise Oce, sondern auch in weiteren PAVONE Anwendungen, wie 225 zum Beispiel PAVONE Project Management und PAVONE Sales, integriert. Alterna- tiv kann PAVONE OceGateway auch in andere beim Kunden bereits bestehende Lotus Notes Anwendungen integriert werden 226 In PAVONE Enterprise Oce stehen die drei Dokumenttypen Oce-Dokument, OceSerienbrief und Oce-Bericht zur Verfügung, bei denen die OceGateway Schnittstelle zum Datenaustausch mit den Oce Suites verwendet werden. Dabei hängt die verwendete Oce Suite von der Auswahl der Oce-Dokument-Vorlage ab. Im PAVONE Settings Directory stellt der Administrator Oce-Dokument-Vorlagen zur Verfügung. Diese Vorlagen werden später von den Benutzern in der PAVONE Enterprise Oce Anwendung genutzt, um eingebettete Microsoft Oce-, Lotus SmartSuite und OpenOce.orgDokumente zu erstellen. Die Vorlagen können so gestaltet werden, dass sich der Benutzer das Dokument aus mehreren angebotenen Teilbausteinen je nach Erfordernis zusammenstellen kann. 227 Mit Hilfe des Dokumenttyps Oce-Dokument können Briefe auf Basis von Oce-Dokument-Vorlagen erstellt oder bereits in der Oce Suite erstellte Briefe übernommen werden. 228 Das geönete Oce-Dokument kann je nach Wunsch ergänzt, ausgedruckt und beim Schlieÿen im zugehörigen Notes-Dokument gespeichert werden. 229 Serienbriefe können, wie in Abbildung 3.1 zu sehen, mit Hilfe des Dokumenttyps OceSerienbrief, die direkt mit den Adressaten aus der Adressenliste von PAVONE Enterprise 230 Oce verknüpft sind, erstellt werden. Abhängig von der gewählten Vorlage wird die Oce Suite gestartet und die einzelnen Serienbriefe können, vor dem Ausdrucken und dem Zurückspeichern in das zugehörige Notes-Dokument, zunächst in einem oder mehreren Dokumenten gespeichert werden. 224 Vgl. [PAVONE, 2008a] S.7 225 Vgl. [PAVONE, 2007] S.4 226 [PAVONE, 2007] S.4 227 [PAVONE, 2008a] S.64 228 Vgl. [PAVONE, 2008b] S.11 229 Vgl. [PAVONE, 2008b] S.11 230 Vgl. [PAVONE, 2008b] S.17-18 231 Vgl. [PAVONE, 2008b] S.19 231 Zum Ablegen und Pegen von längeren Texten, 3. Konzepte zum Datenaustausch 62 Abbildung 3.1.: Erstellung eines Serienbriefes mit Hilfe des Dokumenttyps Oce-Serienbrief in PAVONE Enterprise Oce die sich über mehrere Kapitel erstrecken, eignet sich die Berichtsfunktion. 232 Mit Hilfe des Dokumenttyps Oce-Bericht können Inhalte von Berichtsdokumenten über Vorlagen 233 erstellt oder bereits bestehende Dokumente importiert werden. Im Folgenden soll die Funktionsweise der aktuellen PAVONE OceGateway Lösung mithilfe des Schaubilds Abbildung 3.2 näher erläutert werden: 1. Im Vorlagendokument ist ein Feld ExportView deniert, welches eine Exportansicht und weitere Parameter des Exports festlegt. Die Exportansicht selbst ist nicht Teil von OceGateway, sondern Teil der Integration von OceGateway in PAVONE Enterprise Oce. Eine Vorauswahl der Dokumente, die beim Export von Datenfeldern genutzt werden sollen, kann in der Selektionsformel der Ansicht getroen werden. Zusätzlich bzw. stattdessen kann auch ein Filter (ExportFilter) an die OceGateway Schnittstelle übergeben werden. 232 [PAVONE, 2008b] S. 233 Vgl. [PAVONE, 2008b] S.22 3. Konzepte zum Datenaustausch Maske 63 2 PAVONE OfficeGateway 3 Dokument 4 Exportansicht 7 9 PAVONE Enterprise Office Makro 1 Vorlagenrepository 5 6 Vorlage COM 8 10 COM UNO Lotus Notes 8 Client OpenOffice.org temporäres Verzeichnis Windows Plattform Abbildung 3.2.: Bi-direktionaler Datenaustausch mithilfe der PAVONE OceGateway Schnittstelle zwischen PAVONE Enterprise Oce und OpenOce.org 2. Aus PAVONE Enterprise Oce heraus kann eines der drei Dokumenttypen OceDokument, Oce-Serienbrief oder Oce-Bericht ausgewählt werden. 3. Eine OpenOce.org Vorlage wird aus der Vorlagendatenbank ausgewählt und geladen. 4. OpenOce.org wird mit der ausgewählten Vorlage geönet. 5. OceGateway führt einen Export anhand der Exportansicht oder einen Datenaustausch durch und erstellt eine temporäre Datei auf dem Dateisystem. 6. Es wird zwischen Export und Austausch dierenziert. Export ist der uni-direktionale Transfer von eventuell mehreren Datensätzen über die Ansicht. Wobei der Feldaustausch der bi-direktionale und feldweise Austausch zwischen dem aktuellen NotesDokument und dem geöneten Dokument in OpenOce.org ist. Auch können programmierbare Events ausgeführt werden, womit die Anwendung bzw. das OceDokument zusätzlich manipuliert werden kann. 7. Das OpenOce.org Dokument kann durch den Benutzer noch weiter bearbeitet werden. 3. Konzepte zum Datenaustausch 64 8. Speichern des Dokumentes in der OpenOce.org Anwendung führt zur Speicherung des Dokumentes im temporären Verzeichnis auf dem Dateisystem. 9. Das OpenOce.org Makro triggert OceGateway, damit das Dokument als Attachement in Lotus Notes gespeichert werden kann. 10. Das Oce-Dokument wird geschlossen und als Attachment in Lotus Notes gespeichert. Abbildung 3.3.: Übersicht der Klassenrelationen der aktuellen OceGateway Implementation Da aus datenschutzrechtlichen Gründen nicht näher auf den Quellcode der PAVONE OceGateway Schnittstelle eingegangen werden kann, wird hier nur eine grobe Übersicht der Implementierung mithilfe der Abbildung 3.3 gegeben. Die Klasse COceDocument ist die Hauptklasse der OceGateway Schnittstelle und steuert die COceConnection Klasse, d.h. dass COceConnection als Treiber für die Oce-Anwendung fungiert. Die jeweiligen Klassen der Oce Suites Microsoft Oce, Lotus SmartSuite und OpenOce.org erben von der COceConnection Klasse. Jede unterstützte Komponente der jeweiligen 3. Konzepte zum Datenaustausch 65 Oce Suite besitzt eine eigene Klasse. Im konkreten Fall wird die OpenOce.org Komponente Writer durch die Klasse COpenOceWriteConnection bzw. die Calc Komponente durch die Klasse COpenOceCalcConnection repräsentiert. 3.3. Konzeptanforderungen Auf Basis der Ergebnisse aus dem Re-Engineering der PAVONE OceGateway Schnittstelle sollen Anforderungen an das Konzept zum Datenaustausch zwischen Lotus Notes 8 und OpenOce.org deniert werden, die als Bewertungsgrundlage für die Erarbeitung der Konzeptansätze im Abschnitt 3.4 dienen. Nach der Diskussion der Konzeptsansätze folgt die prototypische Implementierung der neuen OceGateway Schnittstelle in Kapitel 4. Die Anforderungen an die Konzepte zum Datenaustausch können am Besten im Hinblick quantitativer Software-Metriken deniert werden. [Brössler und Siedersleben, 2000] teilt die Qualitätskriterien von Systemen in harte und weiche Kriterien ein. Dabei sind die harten Kriterien objektiv zur Laufzeit messbar und die weichen Kriterien einer quantitativen 234 Bewertung nicht zugänglich. In dieser Arbeit sollen sich die Konzeptanforderungen auf die im ISO 9126 Standard denierten Kriterien beziehen. Kriterien der Softwarequalität nach ISO 9126 Funktionalität Zuverlässigkeit Eignung Reife Benutzbarkeit Effizienz Wartbarkeit Portierbarkeit Verständlichkeit Zeitverhalten Analysierbarkeit Anpassbarkeit Ressourcen− auslastung Modifizierbarkeit Installierbarkeit Richtigkeit Fehlertoleranz Erlernbarkeit Interoperabilität Wiederherstell− barkeit Bedienbarkeit Stabilität Konformität Attraktivität Prüfbarkeit Austauschbarkeit Sicherheit Abbildung 3.4.: Softwarequalitätsmerkmale nach ISO 9126 (Vgl. [Abran et al., 2003] S.328) 234 Vgl. [Brössler und Siedersleben, 2000] S.98-99 3. Konzepte zum Datenaustausch Der ISO Standard 9126 235 66 ist ein produktorientierter Standard und beinhaltet sowohl wei- 236 che als auch harte Qualitätskriterien. Die Softwarequalität wird in sechs verschiedenen Eigenschaftskategorien eingeteilt, wobei die ersten vier Kriterien für den Benutzer sicht- 237 bar und wichtig sind (Benutzersicht). Die letzen zwei stellen die Aspekte dar, die für 238 den Entwickler von Bedeutung sind (Entwicklersicht). Zu den harten Kriterien zählen die Funktionalität, die Zuverlässigkeit, die Benutzbarkeit und die Ezienz. Dagegen sind die Wartbarkeit und die Portierbarkeit den weichen Qualitätskriterien zuzurechnen. Die Abbildung 2.5 zeigt die Zusammenfassung der im Folgenden vorgestellten sechs Qualitätsmerkmalen. 1. Funktionalität: Beim Kriterium der Funktionalität ist zu überprüfen, ob die Software die geforderten Funktionen leistet. 239 Da nicht alle Funktionen die gleiche Prio- rität besitzen, ist es sinnvoll die geforderten Funktionen nach ihrer Wichtigkeit zu bewerten. 240 Die Funktionalität beinhaltet die Eignung, die Richtigkeit, die Interope- 241 rabilität und die Sicherheit. Die Eignung umfasst die Einhaltung von spezischen Normen oder gesetzlichen Bestimmungen. 242 Das Liefern von richtigen Ergebnissen oder das Zeigen der erwarteten Wirkung werden dem Merkmal der Richtigkeit zuge- 243 rechnet. Die beiden Kriterien Eignung und Richtigkeit sind Voraussetzungen für jeden Konzeptvorschlag. Ansätze, die diese beiden Kriterien nicht genügen, werden somit erst gar nicht in Betracht gezogen. Die Interoperabilität, also das Zusammenwirken mit anderen Systemen, ist besonders dann gefährdet, wenn das Konzept sehr umfangreich ist und sehr viele verschiedene Schnittstellen verwendet werden. Die Verwendung von standardisierten APIs kann die Interoperabilität erhöht, da ohne Kenntnis der internen Softwarestruktur die Schnittstelle genutzt werden kann. 244 Der Begri Sicherheit wird im Amerikanischen in zwei Aspekte aufgeteilt: Safety 235 Vgl. [ISO, 2001] 236 Vgl. [Abran et al., 2003] S.2 237 Vgl. [Kahlbrandt, 2001] S.45 238 Vgl. [Kahlbrandt, 2001] S.46 239 Vgl. [Brössler und Siedersleben, 2000] S.99 240 Vgl. [Kahlbrandt, 2001] S.47 241 Vgl. [Abran et al., 2003] S.328 242 Vgl. [Noe, 2006] S.202 243 Vgl. [Noe, 2006] S.202 244 Vgl. [Noe, 2006] S.202 3. Konzepte zum Datenaustausch und Security. 245 67 Safety bezieht sich auf die Sicherheit der Datenintegrität, wobei Security den Schutz vor unbefugter Nutzung oder dem Missbrauch meint. 246 Die Sicherheit der Datenintegrität kann durch Verwendung nicht standardisierter und getesteter Technologien beeinträchtigt werden. Auch steigt das Risiko der Datenintegritätsverletzung bei einem sehr hohen Programmieraufwand, da sich sehr schnell Fehler einschleichen können. Der Schutz vor unbefugter Nutzung oder dem Missbrauch (Security) ist in dieser Arbeit von nicht so groÿer Bedeutung und wird daher nicht weiter betrachtet. 2. Zuverlässigkeit: Ein Softwaresystem ist zuverlässig, wenn es die geforderten Leistungen erbringt ohne in gefährliche oder andere unerwünschte Zustände zu geraten. 247 Zu der Zuverlässigkeit zählen die Reife der Software, die Fehlertoleranz und die Wiederherstellbarkeit. 248 Über die Reife eines Softwaresystems können erst Aus- sagen getroen werden, wenn das System in Benutzung ist. Somit kann keine Aussage über die Reife der theoretischen Konzepte in dieser Arbeit gefällt werden. Um die Fehlertoleranz zu gewährleisten, existiert bei den meisten Programmiersprachen eine Fehlerbehandlung. Es ist die Aufgabe des Programmierers fehlerhafte Eingaben bzw. Aktionen durch die Programmierung abzufangen. Die Fehlerbehandlung wird in der Konzeptphase nicht erschöpfend behandelt, sodass die Fehlertoleranz auch nicht hinreichend bewertet werden kann. Die Wiederherstellbarkeit fordert die Möglichkeit Daten im Fehlerfall wiederherzustellen und das System in einen de- 249 nierten Zustand zu befördern. Dies bedarf beispielsweise des Sicherns von System- 250 variablen, Eingabedaten oder Daten in Queues und Buers. Auch die Beachtung der Wiederherstellbarkeit wird in der Konzeptphase vernachlässigt, da es sonst den Rahmen dieser Arbeit sprengen würde. 3. Benutzbarkeit: Benutzbarkeit bezieht sich auf die Benutzung der Software, die dem Anwender ein einfaches, angenehmes, ezientes und fehlerarmes Arbeiten er- 245 Vgl. [Kahlbrandt, 2001] S.58 246 Vgl. [Kahlbrandt, 2001] S.58 247 [Kahlbrandt, 2001] S.51 248 [Abran et al., 2003] S.328 249 Vgl. [Noe, 2006] S.213 250 Vgl. [Noe, 2006] S.213 3. Konzepte zum Datenaustausch möglichen soll. 251 68 Dazu gehören die Verständlichkeit, die Erlernbarkeit, die Bedien- barkeit und die Attraktivität der Benutzungsschnittstelle. 252 Erlernbarkeit und Be- dienbarkeit stehen in vielen Fällen im Konikt zueinander, da eine intuitive Bedienung eher langsam und nicht so leistungsfähig, dagegen eine leistungsfähige und schnelle Bedienung oft schwerer zu erlernen ist. In dieser Arbeit soll die Benutzungsschnittstelle der aktuellen Lösung von OceGateway soweit wie möglich beibehalten werden, damit die Anwender die Benutzung nicht neu erlernen müssen. 4. Ezienz: Die Ezienz einer Softwarelösung teilt sich in das Zeitverhalten und der Ressourcenauslastung auf. 253 Das Zeitverhalten wird nach [Kahlbrandt, 2001] auch als Software-Ezienz bezeichnet und bezieht sich bespielsweise auf die Antwortzeit und die Verarbeitungszeit des Systems nach einer Benutzereingabe oder den Durch- 254 satz von Aktionen pro Zeiteinheit. Dagegen beschreibt die Ressourcenauslastung die Benutzung der Hardwareressourcen, beispielsweise wieviele Instruktionen und 255 wieviel Hauptspeicher für die Ausführung einer Funktion benötigt werden. Des- halb bezeichnet [Kahlbrandt, 2001] die Ressourcenauslastung auch oft als HardwareEzienz. Die Software-Ezienz, wie auch die Hardware-Ezienz lassen sich jedoch nur messtechnisch ermitteln, was den Rahmen dieser Arbeit sprengen würde, da nicht alle Lösungsansätze implementiert und hinsichtlich der Ezienz miteinander verglichen werden können. 5. Wartbarkeit: Da jedes Softwaresystem Fehler hat, fordert die Wartbarkeit diese Fehler mit akzeptablen Aufwand lokal zu reparieren und dabei keine anderen, un- 256 erwarteten Fehler zu produzieren. Zur Wartbarkeit zählen die Analysierbarkeit, die Modizierbarkeit, die Stabilität und die Prüfbarkeit. 257 Das Merkmal der Ana- lysierbarkeit bezieht sich auf den Aufwand, der für die Fehlerlokalisierung notwendig ist. 258 Das einfache Aktivieren von Debug-Ausgaben oder die Implementierung von kongurierbaren Log-Dateien tragen wesentlich zu einer guten Analysierbarkeit 251 Vgl. [Kahlbrandt, 2001] S.54 252 Vgl. [Abran et al., 2003] S.328 253 Vgl. [Abran et al., 2003] S.328 254 Vgl. [Kahlbrandt, 2001] S.49 255 Vgl. [Kahlbrandt, 2001] S.50 256 Vgl. [Brössler und Siedersleben, 2000] S.100 257 Vgl. [Abran et al., 2003] S.328 258 Vgl. [Noe, 2006] S.197 3. Konzepte zum Datenaustausch bei. 259 69 Im Hinblick auf die Modizierbarkeit ist eine exible Softwarearchitektur von Vorteil, die beispielsweise das Hinzufügen neuer Funktionen zum Programm erleichtert. Eine exible Architektur weist beispielsweise eine Modularisierung oder eine 260 gute Lesbarkeit des Quellcodes auf. Eine hohe Stabilität fordert von der Software die Eigenschaft, dass Änderungen an Teilen der Software keine unerwarteten Auswirkungen auf die Gesamtfunktionalität haben. 261 Die Prüfbarkeit bezieht sich auf den Testaufwand der neuen bzw. geänderten Software. 262 Da nicht alle Konzeptan- sätze getestet werden können, wird das Merkmal Prüfbarkeit in dieser Arbeit nicht bewertet. Diese Kriterien hängen alle sehr eng zusammen und stellen bestimmte Anforderungen an die Konzepte. Dazu gehört ein strukturierter, sauberer und gut dokumentierter Programmierstil, der beispielsweise durch den Einsatz einer objektorientierten Programmiersprache oder der Verwendung von APIs und anderen wohl denierten Schnittstellen unterstützt wird. 6. Portierbarkeit: Die Portierbarkeit fordert von der Softwarearchitektur eine Fle- xibilität, um beispielsweise mit einigen Anpassungen ein Wechsel auf ein anderes Betriebssystem zu vollziehen oder ein anderes DMS zu integrieren. 263 Im Hinblick auf die Anpassbarkeit ist eine exible Softwarearchitektur wünschenswert, die es mit geringem Anpassungsaufwand ermöglicht, die Datenaustauschlösung auch auf Mac OS/X lauähig zu machen. Eine exible Architektur wird beispielsweise durch die Struktur, die Modularisierung, die Lesbarkeit des Quellcodes oder die Dokumentation beeinusst. 264 Die Erstellung exibler Software erhöht grundsätzlich den Entwicklungsaufwand. 265 Der höhere Aufwand kann jedoch durch eine hohe Än- derungshäugkeit gerechtfertigt werden. 266 Zur Portierbarkeit zählt nicht nur die Anpassbarkeit, sondern auch die Installierbarkeit, die Konformität und die Austauschbarkeit. 267 Die Installierbarkeit bezieht sich auf den Ist-Zustand der Software, 259 Vgl. [Noe, 2006] S.198 260 Vgl. [Noe, 2006] S.195 261 Vgl. [Noe, 2006] S.196 262 Vgl. [Noe, 2006] S.196 263 Vgl. [Brössler und Siedersleben, 2000] S.100 264 Vgl. [Noe, 2006] S.195 265 [Noe, 2006] S.195 266 Vgl. [Noe, 2006] S.195 267 Vgl. [Abran et al., 2003] S.328 3. Konzepte zum Datenaustausch 70 also die Fähigkeit ohne softwaretechnischen Anpassungen in verschiedenen Umgebungen oder auf unterschiedlichen Betriebssystemplattformen installierbar und lauffähig zu sein. 268 In dieser Arbeit ist die Anforderung, dass OceGateway auf den Betriebssystemen Windows und Linux lauähig sein soll. Die Konformität fordert eine Koexistenz mit anderen Softwareprodukten in einer gemeinsamen Umgebung, welches nur durch die Einhaltung von genormten Schnittstellen, oenen Standards 269 und anerkannten Vereinbarungen erreicht werden kann. Ziel der Konformität ist es auf herstellerspezische Besonderheiten verzichten zu können. 270 Die Austausch- barkeit fordert, dass die Programme oder auch Module bzw. Funktionen ungeändert in anderen Systemen wiederverwendet werden können. 271 Wichtige Voraussetzung ist dabei das Einhalten von Normen und Standards, aber auch der Einsatz von modularer Programmierung, welches durch eine objektorientierte Programmierung 272 erreicht werden kann. Als weitere Anforderung soll in dieser Arbeit das Qualitätsmerkmal der Wirtschaftlichkeit hinzugenommen werden. Sie sagt aus, dass die Konzepte auch nach ihrem jeweiligen Implementierungsaufwand und der späteren Wartung bewertet werden sollen, um auszu- 273 schlieÿen, dass sie mehr Kosten verursachen, als dass sie Nutzen stiften. In Tabelle 3.1 sind alle Qualitätskriterien noch einmal übersichtlich aufgeführt und hinsichtlich ihrer Relevanz gewichtet. Einige Kriterien können jedoch nicht bewertet werden, sodass im Abschnitt 3.5 bei der Bewertung der Konzeptansätze nur die bewertbaren Qualitätskriterien von Bedeutung sind. 3.4. Vergleich verschiedener Konzeptansätze Im Folgenden werden einige potentielle Konzeptansätze zum Datenaustausch zwischen der Groupware-basierten Anwendung PAVONE Enterprise Oce und der Oce Sui- 268 Vgl. [Noe, 2006] S.209 269 Vgl. [Noe, 2006] S.209 270 Vgl. [Noe, 2006] S.209 271 Vgl. [Noe, 2006] S.209 272 Vgl. [Noe, 2006] S.209 273 Vgl. [Alpar et al., 2002] S.332 3. Konzepte zum Datenaustausch Qualitätskriterien 71 wichtig gewünscht vernachlässigbar nicht bewertbar Funktionalität Eignung X Richtigkeit X Interoperabilität X Sicherheit - Security X - Safety X Zuverlässigkeit Reife X Fehlertoleranz X Wiederherstellbarkeit X Benutzbarkeit Verständlichkeit X Erlernbarkeit X Bedienbarkeit X Attraktivität X Ezienz Zeitverhalten X Ressourcenauslastung X Wartbarkeit Analysierbarkeit X Modizierbarkeit X Stabilität X Prüfbarkeit X Portierbarkeit Anpassbarkeit X Installierbarkeit X Konformität X Austauschbarkeit Wirtschaftlichkeit X X Tabelle 3.1.: Bewertung und Gewichtung der Qualitätskriterien 3. Konzepte zum Datenaustausch 72 te OpenOce.org vorgestellt. Dies sind die Ansätze COMsource, LotusScript-to-Java (LS2J) + Web Service, LS2J + Agent, Rhino + Web Service und Rhino + Agent. Dabei werden jeweils zu jedem Konzept die Vor- und Nachteile aufgezeigt. COMsource Ansatz Der erste Ansatz verwendet die COMsource Technologie. Alle nachfolgende Informationen über die COMsource Technologie sind dem Internetauftritt ums 275 274 des Industriekonsorti- Open Group entnommen. COMsource ist eine oene Systemimplementation von Microsoft's COM Technologie unter UNIX. Es bietet alle Basisfunktionen, Bibliotheken und Werkzeuge an, die eine COM Applikation benötigt. Mithilfe von COMsource ist es unabhängigen Softwareherstellern möglich ihre COM Programme auf Plattformen, die COM standardmäÿig nicht unterstützen, zu portieren. Das objektbasierte und verteilte Programmiermodell von COMsource ermöglicht es C++, Visual C, Visual Basic oder Java Programme in einem Softwarekomponentenobjekt zu kapseln. Ein Komponentenobjekt ist ein gegen die COM Standardschnittstelle geschriebener und wiederverwendbarer Binärcode, der sich mit anderen derart implementierten Komponentenobjekten verbinden kann. OpenGroup stellt zwei Referenzimplementationen (auf Solaris und Tru64 UNIX) bereit, die jeweils den Sourcecode, eine Interoperabilitätstestsuite und Referenzdokumentation beinhalten. Mithilfe der Interoperabilitätstestsuite ist es jedoch auch möglich eine Systemimplementation der COM Technologie auf dem Linux Betriebssystem zu realisieren. Nach Aussage von Open Group liegt der Portierungsaufwand inklusiv der notwendigen Tests zwischen 1,5 und 3 Monaten. Die Lizenzkosten belaufen sich für die Entwicklerlizenz mit späteren Vertriebsrechten einmalig auf 35.000 Dollar. 276 In Abbildung 3.5 ist der COMsource Ansatz zu sehen. Mithilfe einer Linux Implementation von COMsource auf Linux kann die aktuelle OceGateway Implementation ohne Anpassungen eingesetzt werden. Die Portierung von COMsource auf Linux sollte mithilfe der Referenzimplementationen innerhalb relativ kurzer Zeit möglich sein. Nachteilig sind 277 die Lizenzkosten für die Verwendung der COMsource Technologie. Ein weiterer gravie- 274 Siehe http://www.opengroup.org/comsource 277 Siehe http://www.opengroup.org/comsource/cs-pricelist.htm 275 Mitglieder sind beispielsweise Hewlett-Packard Company, Microsoft Corporation oder die Siemens AG 276 Stand: März 2008 3. Konzepte zum Datenaustausch 73 Maske PAVONE OfficeGateway Dokument PAVONE Enterprise Office Vorlagenrepository COM COM Lotus Notes 8 Client UNO OpenOffice.org COMsource Technologie Linux Implementation Linux Plattform Abbildung 3.5.: COMsource Ansatz: Linux Implementation der COMsource Technologie zur Bereitstellung der COM Technologie 278 render Schwachpunkt ist die Komplexität der COM Technologie an sich, die schon bei der aktuellen OceGateway Schnittstelle nachteilig ist und bei diesem Ansatz zusätzlich zu der COMsource Implementation zum Tragen kommt würde. Wünschenswert für ein gutes Konzept ist es den Einsatz der COM Technologie zu vermeiden. Da jedoch die Linuxversion von OpenOce.org nicht mit COM Unterstützung ausgestattet ist, muss die Windowsversion von OpenOce.org unter Linux zum Laufen gebracht werden. Inwieweit dies möglich ist und welche zusätzlichen Probleme entstehen können, wird in dieser Arbeit nicht weiter untersucht. 278 Vgl. [Schwichtenberg, 2005] S.906 3. Konzepte zum Datenaustausch 74 LS2J Ansatz Der zweite Ansatz basiert auf die Verbindung von LotusScript und Java mittels LS2J. Die nachfolgenden Informationen zu LS2J basieren auf der Lotus Notes 8 Hilfe zu LS2J. Mithilfe von LS2J kann in LotusScript Programmen auf Java zugegrien werden. Ein Satz von vordenierten LotusScript Objekten erlauben LotusScript die Benutzung von schon vorhandenen Java Klassen, die entweder als Script Bibliotheken verfügbar oder im gesetzten Klassenpfad zu nden sind. LS2J ist das Interface, welches den Datentransfer von Java Datentypen zu LotusScript Datentypen ermöglicht und den Aufruf von Java Objektmethoden aus LotusScript heraus erlaubt. Weiterhin bietet es die Möglichkeit Java Objekte zu erzeugen, als ob sie zu der gewöhnlichen LotusScript Umgebung gehören. Dieser Satz von LotusScript Objekten ist als LotusScript Erweiterung implementiert und kann in jeder existierenden LotusScript Implementation genutzt werden. Sei es eine eigenständige oder eine, in eine Applikation wie Lotus SmartSuite oder Lotus Notes, eingebettete LotusScript Implementierung. In einer Notes Umgebung lokalisiert LotusScript Java Klassen und benutzt sie, als ob sie LotusScript Objekte wären. Schon in Java geschriebene Klassen können somit ohne Modikationen in LotusScript benutzt werden. Beim LS2J Ansatz soll die bestehende Implementierung von PAVONE OceGateway weitgehend wiederverwendet werden. Mithilfe von LS2J kann somit eine Wrapper Klasse in der Programmiersprache Java geschrieben werden, die die LotusScript COM Aufrufe in Java Aufrufe umwandelt und die COM Technologie überüssig macht. Die Java Wrapper Klasse greift somit direkt auf die UNO-Schnittstelle zu. Um aus OpenOce.org heraus Lotus Notes triggern zu können, soll ein in die Oce-Vorlage eingebautes Makro verwendet werden. Dabei greift das Makro nicht direkt auf Lotus Notes zu, sondern nutzt entweder die Lotus Notes Web Service Unterstützung über einen zwischengeschalteten Web Service oder einen Agentenaufruf über die Betriebssystemebene. Diese zwei Optionen, um Lotus Notes zu triggern, werden in der weiteren Arbeit als getrennte Ansätze betrachtet. Mithilfe der Abbildung 3.6 soll erst einmal die Funktionsweise des Ansatzes LS2J + Web Service erläutert werden: 1 Im Vorlagendokument ist ein Feld ExportView deniert, welches eine Exportansicht und weitere Parameter des Exports festlegt. 3. Konzepte zum Datenaustausch 75 Web Service 2 Maske Java Klasse 3 PAVONE OfficeGateway 8a 4b Dokument 4a 5a Export− ansicht 9 7 8b 8c PAVONE Enterprise Office Makro 1 Vorlagenrepository 5b 6 Web Service Vorlage 10 UNO OpenOffice.org Lotus Notes 8 Client temporäres Verzeichnis Windows / Linux Plattform Abbildung 3.6.: Funktionsweise der Ansätze LS2J und Rhino in Kombination mit einem Web Service 2 Aus PAVONE Enterprise Oce heraus kann eines der drei Dokumenttypen Oce-Dokument, Oce-Serienbrief oder Oce-Bericht ausgewählt werden. 3 Eine OpenOce.org Vorlage wird aus der Vorlagendatenbank ausgewählt und geladen. 4a+b OpenOce.org wird über LS2J durch die Java Wrapper Klasse mit der Vorlage geönet. 5a+5b+6 OceGateway führt den Export oder Datenaustausch anhand der Ex- portansicht durch und erstellt eine temporäre Datei auf dem Dateisystem. Auch können programmierbare Events ausgeführt werden, womit OpenOce.org bzw. das Oce-Dokument zusätzlich manipuliert werden kann. 7 Das OpenOce.org Dokument kann durch den Benutzer noch weiter bearbeitet werden. 8a+b+c Das OpenOce.org Makro triggert den Web Service 279 , der über die Web Service Schnittstelle von Lotus Notes auf die Java Wrapper Klasse zugreift. 279 Siehe Unterabschnitt 2.5.2 für weitere Informationen 3. Konzepte zum Datenaustausch 76 9 Die Java Wrapper Klasse triggert OceGateway, damit es das Oce-Dokument als Anhang in Lotus Notes speichert. 10 Das Oce-Dokument wird geschlossen und als Anhang in Lotus Notes gespeichert. Maske 2 Java Klasse PAVONE OfficeGateway 3 4b Dokument 4a 5a Export− ansicht 7 9 Agent PAVONE Enterprise Office Makro 6 1 Vorlagenrepository Vorlage 5b 10 UNO OpenOffice.org Lotus Notes 8 Client 8 temporäres Verzeichnis Windows / Linux Plattform Abbildung 3.7.: Funktionsweise der Ansätze LS2J und Rhino in Kombination mit einem Agentenaufruf Mithilfe der Abbildung 3.7 soll nun die Funktionsweise des Ansatzes LS2J + Agent erläutert werden: 1 Im Vorlagendokument ist ein Feld ExportView deniert, welches eine Exportansicht und weitere Parameter des Exports festlegt. 2 Aus PAVONE Enterprise Oce heraus kann eines der drei Dokumenttypen Oce-Dokument, Oce-Serienbrief oder Oce-Bericht ausgewählt werden. 3 Eine OpenOce.org Vorlage wird aus der Vorlagendatenbank ausgewählt und geladen. 3. Konzepte zum Datenaustausch 4a+b 77 OpenOce.org wird über LS2J durch die Java Wrapper Klasse mit der Vorlage geönet. 5a+5b+6 OceGateway führt einen Export anhand der Exportansicht oder eine Feldaustausch durch und erstellt eine temporäre Datei auf dem Dateisystem. Auch können programmierbare Events ausgeführt werden, womit OpenOce.org bzw. das Oce-Dokument zusätzlich manipuliert werden kann. 7 Das OpenOce.org Dokument kann durch den Benutzer noch weiter bearbeitet werden. 8 Das OpenOce.org Makro triggert Lotus Notes, indem es einen Notes Agentenaufruf über die Betriebssystemebene durchführt. 9 Der LotusScript Agent triggert OceGateway, damit es das Oce-Dokument als Anhang in Lotus Notes speichert. 10 Das Oce-Dokument wird geschlossen und als Anhang in Lotus Notes gespeichert. Vorteilhaft beim LS2J Ansatz ist, dass die grobe Architektur der aktuellen OceGateway Implementierung erhalten bleibt. Die OceGateway Schnittstelle wird, wie bei der aktuellen OceGateway Lösung, direkt in die Datenbank eingebaut und ermöglicht den Entwicklern auf ihre bisherigen Erfahrungen zurückzugreifen. Es fallen keine zusätzlichen Lizenzkosten an, da LS2J seit der Version 6 in Lotus Notes integriert ist. Durch die Integration in Lotus Notes kann davon ausgegangen werden, dass LS2J für den produktiven Einsatz hinsichtlich der Verwendung und der Performance optimiert ist. Es ist aber dennoch mit einem Performanceverlust gegenüber der aktuellen OceGateway Lösung zu rechnen. Der LS2J Ansatz in Kombination mit einem Web Service hebt sich dabei von der Verwendung des LS2J Ansatzes mit Agentenaufruf dahingehend ab, dass er plattformunabhängig ist. Jedoch ist das Erstellen eines Web Services gegenüber dem Implementieren eines Notes Agenten mit einem höheren Aufwand verbunden. Rhino Ansatz Der Rhino Ansatz setzt auf die Ersetzung der in der aktuellen Implementierung von OceGateway verwendeten Programmiersprache LotusScript durch JavaScript. Dabei 3. Konzepte zum Datenaustausch 78 soll, genau wie beim LS2J Ansatz, eine Java Wrapper Klasse eingesetzt werden, die mit- 280 hilfe von Rhino von JavaScript interagieren kann. Rhino 281 Interpreter des Mozilla-Projekts. ist ein quelloener JavaScript- Er ist in Java implementiert und besitzt eine API für 282 das Einbetten von JavaScript in andere Anwendungen. Somit kann beispielsweise in ei- ner Java-Anwendung JavaScript durch das Verwenden von Rhino eingebettet werden. 283 Gleichzeitig ermöglicht Rhino JavaScript Felder von Java Objekten abzufragen und zu 284 setzen und auch Java Methodenaufrufe durchzuführen. Wenn ein Java-Objekt über ein Bindings-Objekt an ein JavaScript-Skript übergeben wird oder an eine JavaScriptFunktion übergeben wird, kann JavaScript dieses Objekt fast so manipulieren, als wäre es ein natives JavaScript-Objekt. Alle öentlichen Felder und Methoden des Java-Objektes werden als Eigenschaften des JavaScript-Wrapper-Objekts veröentlicht 285 Mithilfe von Rhino kann somit eine Wrapper Klasse in der Programmiersprache Java geschrieben werden, die die LotusScript COM Aufrufe in Java Aufrufe umwandelt und die COM Technologie überüssig macht. Die Java Wrapper Klasse greift somit direkt auf die UNOSchnittstelle zu. Um aus OpenOce.org heraus Lotus Notes triggern zu können, soll wie beim LS2J Ansatz ein in die Oce-Vorlage eingebautes Makro verwendet werden. Dabei kommen wieder die beiden Möglichkeiten, um das Triggern von Notes zu bewerkstelligen, in Frage. Und zwar die Benutzung der Lotus Notes Web Service Unterstützung über einen zwischengeschalteten Web Service oder ein Notes Agent, der über die Betriebssystemebene durch ein OpenOce.org Makro aufgerufen wird. Ein groÿer Nachteil beim Rhino Ansatz ergibt sich durch die Ersetzung von LotusScript durch JavaScript. An dieser Stelle der Konzeptphase ist nicht klar, ob der gesamte Code von LotusScript nach JavaScript portierbar ist. Folglich ist von einem sehr groÿen Entwicklungsaufwand auszugehen, da zusätzlich zu der Portierung noch die Implementierung der Java Wrapper Klasse und des Web Services bzw. des JavaScript Agenten hinzukommt. Auch ist mit einem Performanceverlust gegenüber der aktuellen OceGateway Lösung zu rechnen, die durch den Einsatz von Rhino zu Stande kommen wird. 280 Siehe http://www.mozilla.org/rhino 281 Vgl. [Flanagan, 2007] S.237 282 Vgl. [Flanagan, 2007] S.237 283 Vgl. [Flanagan, 2007] S.237 284 Vgl. [Flanagan, 2007] S.245 285 [Flanagan, 2007] S.245 3. Konzepte zum Datenaustausch 79 3.5. Bewertung der Konzeptansätze Die Bewertung der vorgestellten Konzepte soll nun mithilfe der Qualitätskriterien, die in Abschnitt 3.3 eingeführt wurden, durchgeführt werden. Dabei bezieht sich die Bewertung nur auf die wichtigen und gewünschten Kriterien aus Tabelle 3.1. In Tabelle 3.2 ist eine Übersicht der Bewertung zu sehen, die sich auf die folgende Diskussion stützt. Die Bewertung erfolgt nach folgendem Schema: - ++ bedeutet sehr gut, + gut, O durchschnittlich, schlecht und bedeutet sehr schlecht. 1. Funktionalität • Eignung und Richtigkeit: Die Eignung und die Richtigkeit sind Voraussetzungen für alle relevanten Konzeptvorschläge. Konzeptideen, die diesen beiden Eigenschaften nicht genügen, wurden schon im Vorfeld nicht in Betracht gezogen. Somit sind alle vorgestellten Konzepte für die Erfüllung der geforderten Funktionalität hinsichtlich der Eignung und der Richtigkeit mit sehr gut bewertet. • Interoperabilität: Um die COM Technologie der aktuellen OceGateway Lösung beizubehalten, wird beim COMsource Ansatz auf die Portierung der COMsource Technologie auf Linux gesetzt, die wie eine Middleware zwischen der Anwendung und dem Betriebssystem agiert. Deshalb ist eine Interoberabilität nur innerhalb der OceGateway Lösung, die auf der Linux COMsource Implementierung aufsetzt, gewährleistet. Eine Interoperabilität mit anderen Programmen, die native auf Linux ausgeführt werden, ist dagegen schwieriger, wenn von Linux nicht bekannte Protokolle oder Technologien eingesetzt werden. Im Gegensatz dazu verwenden die Konzeptansätze LS2J und Rhino vertrauenswürdige Schnittstellen und Technologien, wie Java, LS2J, Rhino, Notes Agent und Web Services. Dies führt zu einer Steigerung der Interoperabilität und somit zu einer Bewertung mit gut gegenüber der Bewertung des COMsource Ansatzes mit schlecht. • Sicherheit (Safety): Die Wahrung der Datenintegrität des COMsource Ansatzes ist von der COMsource Linux Implementierung abhängig. Es kann jedoch davon ausgegangen werden, dass der Einsatz der COMsource Technologie die 3. Konzepte zum Datenaustausch 80 Datenintegrität nicht negativ beeinusst. LS2J verbindet LotusScript mit Java und ist in Lotus Notes integriert. Somit ist eine Verletzung der Datenintägrität durch LS2J nicht zu erwarten. Auch der Einsatz eines Web Services bei den beiden Ansätzen LS2J und Rhino sollte bei richtiger Benutzung die Datenintegrität nicht negativ beeinträchtigen. Der Rhino Ansatz ersetzt LotusScript durch JavaScript und verwendet die Rhino Technologie zur Interaktion von JavaScript mit Java. Durch den höheren Programmieraufwand der Rhino Ansätze gegenüber den anderen Konzeptansätzen ist mit einem erhöhten Fehlerrisiko zu rechnen. Dies führt zur Abwertung der beiden Rhino Ansätze (Bewertung mit befriedigend) gegenüber den anderen Ansätzen (Bewertung mit gut). 2. Benutzbarkeit: Da alle Konzeptansätze bei der Benutzbarkeit das Ziel verfolgen die Benutzungschnittstelle der aktuellen Lösung von OceGateway beizubehalten, werden sie alle mit sehr gut bewertet. 3. Wartbarkeit • Analysierbarkeit: Beim COMsource Ansatz wird die Implementierung mit LotusScript und COM von der aktuellen OceGateway Lösung übernommen, sodass der Einsatz des LotusScript Debuggers zur Analysierbarkeit genutzt werden kann. Möglichkeiten der Analyse bei Portierungproblemen von COMsource auf Linux sind durch die zwei bereitgestellten Referenzimplementationen, der Interoperabilitätstestsuite und der Referenzdokumentation gegeben. Jedoch kann keine Aussage darüber gemacht werden, ob diese Hilfsmittel eine ausreichende Analysierbarkeit bieten können. Deshalb wird der COMsource Ansatz nur mit befriedigend bewertet. Bei den Ansätzen LS2J und Rhino stehen Debugger für die verschiedenen Programmiersprachen LotusScript, JavaScript und Java zur Verfügung. Im Gegensatz zum LotusSript und JavaScript Debugger, die aus Lotus Notes heraus genutzt werden, können die Programmteile, welche in Java implementiert sind, losgelöst in einer Entwicklungsumgebung (z.B. Eclipse oder NetBeans) getestet werden. 3. Konzepte zum Datenaustausch 81 Dies erhöht die Fähigkeit der Analysierbarkeit und führt zu einer Beurteilung der Ansätze LS2J und Rhino in Kombination mit einem Web Service bzw. einem Agentaufruf mit gut. • Modizierbarkeit: Modizierungen des COMsource Ansatzes beschränken sich auf Änderungen, die die LotusScript Implementierung in Kombination mit der COM Technologie zulassen. Die Ansätze LS2J + Web Service und Rhino + Web Service bieten durch ihre exible Architektur eine gute Modizierbarkeit. Diese Flexibilität wird durch den Einsatz der plattformunabhängigen Java und Web Service Technologien gewährleistet. Dagegen bieten die Ansätze LS2J und Rhino in Kombination mit dem Notes Agentenaufruf über die Betriebssystemebene eine geringere Flexibilität, protiert durch die Einfachheit des Agentenaufrufes im Gegensatz zum Einsatz eines Web Services. Die Objektorientierung von Java und die daraus resultierende gute Ausgangsposition für eine strukturierte Programmierung, trägt zu einer guten Modizierbarkeit bei allen LS2J und Rhino Ansätzen bei. Nachteilig ist jedoch die Erlernung der beiden Bridgetechniken LS2J und Rhino durch den Programmierer. Die Beurteilung aller LS2J und Rhino Ansätze fällt aber dennoch besser (gut), als die Bewertung des COMsource Ansatzes (befriedigend), aus. • Stabilität: Durch den Einsatz der COMsource Technologie beim COMsource Ansatz kann die aktuelle OceGateway Implementierung voraussichtlich ohne Änderungen weiterverwendet werden. Jedoch kann die aktuelle OceGateway Lösung nur eine bedingte Flexibilität vorweisen. Auch kann im Vorfeld nicht abgesehen werden, welche Auswirkungen die Linux Implementierung der COMsource Technologie auf zukünftige Änderungen der OceGateway Schnittstelle ausüben wird. Folglich wird der COMsource Ansatz nur mit befriedigend bewertet. Die Stabilität aller LS2J und Rhino Ansätze wird durch ihre exible Architektur gewährleistet, sodass keine unerwarteten Auswirkungen auf die Gesamtfunktionalität zu erwarten sind. Jedoch wird die Flexibilität der beiden Ansätze LS2J und Rhino in Kombination mit dem Notes Agenten durch den betriebssystemabhängigen Agentenaufruf gemindert. Daraus folgt eine schlechtere Beurteilung dieser beiden Ansätze mit gut gegenüber der 3. Konzepte zum Datenaustausch 82 sehr guten Beurteilung der Ansätze LS2J + Web Service und Rhino + Web Service. 4. Portierbarkeit • Anpassbarkeit und Installierbarkeit: Die Anpassbarkeit des COMsource Ansatzes leidet daran, dass es eine entsprechende COMsource Implementation auf dem gewünschten Betriebssystem geben muss. In dieser Arbeit folgt daraus eine Linux Implementation. Jedoch müsste beispielsweise beim Einsatz auf Mac OS die COMsource Technologie auf Mac OS portiert werden. Deshalb wird die Anpassbarkeit und die Installierbarkeit nur mit schlecht bewertet. Im Gegensatz dazu protieren die LS2J und der Rhino Ansätze von ihrer exiblen Architektur. Dies ermöglicht eine übersichtlichere Struktur, eine Modularisierung und durch die Eigenschaft der Objektorientierung von Java und der Web Service Technologie bzw. Notes Agent auch eine bessere Lesbarkeit des Quellcodes. Bei den beiden Ansätzen LS2J + Web Service und Rhino + Web Service führt die Plattformunabhängigkeit von Java und der Web Service Technologie dazu, dass sie ohne softwaretechnischen Anpassungen auf vielen Betriebssystemen installierbar und lauähig sind. Deshalb werden bei diesen beiden Ansätzen die Kriterien Anpassbarkeit und Installierbarkeit mit sehr gut bewertet. Im Gegensatz dazu sind bei den beiden LS2J und Rhino Ansätze durch den plattformabhängigen Agentenaufruf bei der Bewertung der beiden Kriterien Abstriche zu machen, da sie nicht ohne Portierungsaufwand auf einem neuen Betriebssystem installierbar und lauähig sind. Somit werden die Merkmale Anpassbarkeit und Installierbarkeit der beiden Ansätze mit gut bewertet. • Konformität: Der COMsource Ansatz basiert auf der COMsource Technologie, welche von der Open Group entwickelt und angeboten wird. Da Open Group ein Industriekonsortium mehrerer namhafter Hersteller ist, kann davon ausgegangen werden, dass keine herstellerspezischen Besonderheiten von Nöten sind, die die Konformität beeinträchtigen könnten. Auch die LS2J und die Rhino Ansätze gewährleisten, durch die Verwendung von anerkannten Standards und Technologien, wie die Prgrammiersprachen Java, JavaScript, Notes 3. Konzepte zum Datenaustausch 83 Agenten oder der Web Service Technologie, die Konformität. Deshalb werden alle Konzeptansätze mit sehr gut bewertet. • Austauschbarkeit: Der Einsatz von objektorientierten Programmiersprachen ermöglicht eine Modularisierung von Programmen. Die Fähigkeit der Modularisierung ist Voraussetzung für eine gute Austauschbarkeit. Beim COMsource Ansatz kommt die Makrosprache LotusScript, die in Lotus Notes eingebettet ist, zum Einsatz. Eine Modularisierung des Programms kann durch die Verwendung von Klassen und die Aufteilung des Codes in mehreren Script Libraries erreicht werden, die dann auch in anderen Programmen wiederverwendet werden können. Somit erhält der COMsource Ansatz für das Kriterium der Austauschbarkeit die Bewertung gut. Alle LS2J und Rhino Ansätze erweitern die Notes interne Modularisierung des LotusScript Codes durch die Java Wrapper Klasse und den Einsatz eines Web Services bzw. eines Notes Agenten. Somit wird die Austauschbarkeit der LS2J und Rhino Ansätze mit sehr gut bewertet. 5. Wirtschaftlichkeit: Hinsichtlich der Wirtschaftlichkeit wird der COMsource Ansatz nur mit schlecht bewertet, da bei der Implementation der COMsource Technologie Lizenzkosten an Open Group anfallen. Weiterhin ist auch die Abhängigkeit von der COMsource Technologie für zukünftige Entwicklungsarbeit und Softwarepege nicht positiv bewertbar. Die beiden LS2J Ansätze bestechen gegenüber dem Rhino Ansatz dadurch, dass der LotusScript Code nicht komplett ersetzt werden muss. Dieser nicht unerheblich gröÿere Entwicklungsaufwand bei den Rhino Ansätzen rechtfertigt die schlechteren Bewertungen dieser Konzeptansätze. Da die Entwicklung und Benutzung eines Web Services gegenüber der eines Notes Agenten einen höheren Entwicklungsaufwand bedeutet, werden die Ansätze mit Agentenaufruf besser bewertet, als die Ansätze in Kombination eines Web Services. Somit ergibt sich eine abstufende Bewertung von sehr gut für den Ansatz LS2J + Agent bis schlecht für den Ansatz Rhino + Web Service. 3. Konzepte zum Datenaustausch Qualitätskriterien 84 COMsource LS2J + LS2J + Rhino + Rhino + Web Agent Service Web Agent Service Funktionalität Eignung ++ ++ ++ ++ ++ Richtigkeit ++ ++ ++ ++ ++ - + + + + + + + O O ++ ++ + ++ O Analysierbarkeit O + + + + Modizierbarkeit O + + + + Stabilität O ++ + ++ + Anpassbarkeit - ++ + ++ + Installierbarkeit ++ + ++ + ++ ++ ++ ++ ++ + ++ ++ ++ ++ - + ++ - O Interoperabilität Sicherheit - Safety Benutzbarkeit Wartbarkeit Portierbarkeit Konformität Austauschbarkeit Wirtschaftlichkeit Tabelle 3.2.: Bewertung der Konzeptansätze hinsichtlich der relevanten Qualitätskriterien 3. Konzepte zum Datenaustausch 85 3.6. Auswahl eines Konzeptes für die prototypische Implementierung Aufgrund der Diskussion der Konzeptansätze, wird nun ein Ansatz ausgewählt, um die OceGateway Schnittstelle unter Windows und Linux lauähig zu machen und einen Datenaustausch zwischen Lotus Notes und OpenOce.org prototypisch zu realisieren. Dabei fällt die Bewertung des COMsource Ansatzes gegenüber den beiden anderen Ansätzen deutlich negativ aus. Die LS2J und die Rhino Ansätze haben durch den Einsatz eines Web Services bzw. Notes Agenten und der Java Wrapper Klasse eine sehr groÿe Ähnlichkeit. Doch die LS2J Ansätze sind gegenüber den Rhino Ansätzen im Vorteil, da sie den LotusScript Code beibehalten. Dieser muss bei den Rhino Ansätzen durch die Verwendung der Rhino Technologie, die JavaScript mit Java verbindet, durch JavaScript ersetzt werden. Dies ist besonders fehleranfällig (Kriterium Safety) und unwirtschaftlich. Als potentielle Kandidaten bleiben die beiden LS2J Ansätze übrig: der Ansatz LS2J + Web Service und der Ansatz LS2J + Agent. Die schlechteren Bewertungen des LS2J + Agent Ansatzes bei den Merkmalen Stabilität, Anpassbarkeit und Installierbarkeit beruhen auf den plattformabhängigen Aufruf des Notes Agenten. Jedoch sind die Änderungen für die Portierung auf ein neues Betriebssystem sehr gering und beziehen sich im Groben nur auf den Basic Code im OpenOce.org Makro. Ein groÿer Vorteil des Notes Agenten gegenüber der Verwendung eines Web Service liegt in der Einfachheit und Übersichtlichkeit. Im Hinblick auf die prototypische Implementierung in dieser Arbeit ist die Wirtschaftlichkeit das ausschlaggebende Kriterium. Deshalb wird der LS2J Ansatz in Kombination mit einem Notes Agenten, der über die Betriebssystemebene aufgerufen wird, im Kapitel 4 prototypisch umgesetzt. 4. Prototypische Realisierung der OceGateway Schnittstelle Anhand der Abbildung 4.1 werden einzelne Änderungen im vorhandenen Quelltext erläutert. Auch wird die Benutzung von LS2J, um von LotusScript auf Java Klassen zuzugreifen, mithilfe einiger Codeausschnitte näher erläutert. Dabei wird auf Einschränkungen, Vereinfachungen und Abweichungen der prototypischen Implementierung vom theoretischen Konzept hingewiesen. Aus datenschutzrechtlichen Gründen wird nur ein Klassendiagramm der Java Wrapper Klasse OOoStart gezeigt. Im Anschluss daran wird eine Einschätzung der prototypischen Implementierung gegeben und der Frage nachgegangen, ob sie auf Windows und Linux lauähig ist. Auch werden Probleme und Einschränkungen der prototypischen Implementierung aufgezeigt und gegebenfalls Lösungen skizziert. Die für die Entwicklung der prototypischen Realisierung eingesetzte Software ist im Abschnitt A zu nden. Am Anfang der prototypischen Entwicklungsarbeit wurde in Absprache mit der PAVONE AG eine Prioritätenliste erstellt, die die Schwerpunkte der Entwicklungsarbeit festlegen soll. Anhand dieser Prioritätenliste konnte die zeitlich begrenzte Implementierungsarbeit auf das Wichtigste konzentriert werden. Im Folgenden ist die Prioritätenliste zu sehen: 1. OpenOce.org aus Lotus Notes heraus starten 2. Zurückspeichern des Oce-Dokumentes als Anhang 3. Feldaustausch zwischen Lotus Notes und OpenOce.org 4. Export von Daten ins Oce-Dokument 5. Event-Handling 86 4. Prototypische Realisierung der OceGateway Schnittstelle 87 Die prototypische Implementierung des Ansatzes LS2J + Agent deckt im Groben die Punkte OpenOce.org aus Lotus Notes heraus starten, Zurückspeichern des OceDokumentes als Anhang und Feldaustausch zwischen Lotus Notes und OpenOce.org der Prioritätenliste ab. Im Vorfeld müssen einige Vorbereitungen getroen werden, um den Prototypen zum Laufen zu bringen. Zuerst muss die Kongurationsdatei OGConf.txt, die nur den Pfad zur ausführbaren Datei des Notes Clients beinhaltet, erstellt werden. Dabei erwartet das OpenOce.org Makro Module1 die Kongurationsdatei in einem fest denierten Ver- 1 zeichnis . Um die Verwendung einer Kongurationsdatei überüssig zu machen, könnte der Pfad des Notes Clients beim Önen von OpenOce.org dem Makro als Argument übergeben werden. Weiterhin ist das Setzen von zwei Parametern in der notes.ini von Nöten. Der Parameter OOoExeFolder gibt den Installationspfad von OpenOce.org an und ist für das Starten von OpenOce.org aus Lotus Notes heraus notwendig. Der zweite Parameter OOoTemplate verweist auf die Testvorlage OOoVorlage.odt mit dem integrierten Makro Module1, der den COM Mechanismus durch einen Agentenaufruf auf Betriebsystemebene ersetzen soll. Da die Oce-Vorlagen bei der vollständigen Umsetzung des Konzeptes in einer Notes Vorlagendatenbank gespeichert werden, wird der Parameter OOoTemplate überüssig. Damit OpenOce.org mit Java gestartet und Oce-Dokumente manipuliert werden können, muss Java in OpenOce.org aktiviert und konguriert werden. 2 Als letzte Vorbe- reitungsmaÿnahme muss das Tape File Archiver (TAR)-Archive bootstrapconnector.jar in das classes Verzeichnis der OpenOce.org Installation kopiert werden. Dies ist durch die Verwendung des in OpenOce.org 2.x eingeführten Ladeprogramm Mechanismuses 3 notwendig. Das TAR-Archiv beinhaltet Quellcode aus dem Uno Software Development Kit (UDK) Projekt 4 von OpenOce.org. 1 In der prototypischen Implementierung wird eine Testvorlage OOoVorlage.odt erstellt, die das ExportView Feld nicht berücksichtigt, da der Implementie- 1 Unter Windows im Verzeichnis C:\OceGateway\ und unter Linux im Verzeichnis /etc/ 2 Menü Extras -> Optionen und dann im Baum OpenOce -> Java 3 Siehe http://user.services.\unhbox\voidb@x\hbox{OpenOffice.org}/en/forum/viewtopic. php?f=44&t=2520 für weitere Informationen http://udk.\unhbox\voidb@x\hbox{OpenOffice.org}/source/browse/udk/ 4 Siehe 4. Prototypische Realisierung der OceGateway Schnittstelle Maske 2 PAVONE OfficeGateway 88 Java Klasse OOoStart 3 4b Dokument 4a 5a Export− ansicht 9 7 Notes Agent OOoTrigger Form OOoTriggerForm PAVONE Enterprise Office Makro Module1 6 Vorlagenrepository 5b 10 8 UNO OpenOffice.org Lotus Notes 8 Client Office Vorlage OOoVorlage.odt temporäres Verzeichnis Windows / Linux Plattform Abbildung 4.1.: Implementierung des LS2J + Agent Ansatzes mit Zwischenschalten eines Formaufrufes rungspunkt Export von Daten ins Oce-Dokument der Prioritätenliste zeitlich nicht umgesetzt werden konnte. 2 Eines der drei Dokumenttypen Oce-Dokument, Oce-Serienbrief oder OceBericht kann ausgewählt werden. Die prototypische Implementierung beschränkt sich jedoch auf Änderungen bei der Erstellung eines Oce-Dokumentes (siehe Abbildung 4.2). Dabei wird die Integration in den OceGateway Code vernachlässigt und nur die Methodenaufrufe der Java Wrapper Klasse mittels LS2J in der Schaltäche Dokument über Vorlage erstellen exemplarisch zusammengefasst. 3 Die Testvorlage OOoVorlage.odt wird nicht aus der Vorlagendatenbank geladen, da sie auf dem Dateisystem abgelegt ist und Lotus Notes durch den Parameter OOoTemplate in der notes.ini bekannt gemacht wird. 4a+b OpenOce.org wird in dem Prototypen mittels der Java Wrapper Klasse OOoStart gestartet. Dazu muss sich das TAR-Archive bootstrapconnector.jar in dem classes Verzeichnis der OpenOce.org Installation benden, 4. Prototypische Realisierung der OceGateway Schnittstelle 89 Abbildung 4.2.: Die prototypische Implementierung beschränkt sich auf das Oce-Dokument damit die Java Wrapper Klasse OOoStart OpenOce.org starten kann. Der Zugri auf OOoStart ndet durch den eingebetteten LotusScript Code in der Schaltäche Dokument über Vorlage erstellen mittels LS2J statt. In Abbildung 4.3 ist das Klassendiagramm der Java Wrapper Klasse OOoStart zu sehen, die die Methoden bootstrapOpenOffice() zum Starten von OpenOce.org und OpenDocument(String sourceFile) zum Önen eines Oce-Dokumentes anbietet. Die Methode fieldExchange(String fieldName, String fieldValue) dient zum Feldaustausch zwischen der Lotus Notes basierten Anwendung PAVONE Enterprise Oce und einem OpenOce.org Dokument. Als Übergabeparameter erwartet die Methode zwei Strings. Der Parameter fieldName gibt die Textmarke 5 in der Oce-Vorlage an und der Parameter fieldValue den zu übergebenden Inhalt, der an die Position der Textmarke geschrieben wird. Weiterhin existiert die Hilfsmethode createUNOFileURL(String filelocation), mit der es möglich ist eine 5 auch alsBookmark bezeichnet 4. Prototypische Realisierung der OceGateway Schnittstelle Uniform Resource Locator (URL) aus einem Dateiverzeichnispfad zu erstellen, die von UNO verwendet werden kann. Die Verwendung von LS2J, um Abbildung 4.3.: Klassendiagramm der Java Wrapper Klasse OOoStart von LotusScript auf Java Klassen zuzugreifen, wird anhand von Codeteilen in der Schaltäche Dokument über Vorlage erstellen (siehe Abbildung 4.4) näher erläutert. Um die LotusScript Erweiterung LS2J zu laden, wird die Anweisung Uselsx "*javacon" als Option der Schaltäche Dokument über Vorlage erstellen hinzugefügt. Da in der prototypischen Implementierung die Java Wrapper Klasse OOoStart als Java Bibliothek integriert ist, muss sie durch den Befehl Use "OOoStart" bekannt gemacht werden. Listing 4.1: Initialisierung der LotusScript Erweiterung LS2J 1 Dim mySession As JAVASESSION 2 Dim jclass As JAVACLASS 3 Dim oObject As JavaObject 4 5 Sub Initialize 6 oooExeFolder = session . GetEnvironmentString ( " OOoExeFolder ") 7 Set mySession = New JavaSession 8 Set jclass = mySession . GetClass (" OOoStart " ) 9 Set oObject = jclass . CreateObject ("( Ljava / lang / String ;) V" , oooExeFolder ) 10 End Sub 90 4. Prototypische Realisierung der OceGateway Schnittstelle 91 Abbildung 4.4.: Der Zugri auf die Java Wrapper Klasse OOoStart ndet in dem eingebet- teten LotusScript Code in der Schaltäche Dokument über Vorlage erstellen mittels LS2J statt In der Unterfunktion Initialize im Listing 4.1 wird in Zeile 6 der Parameter OOoExeFolder aus der notes.ini gelesen. Die JavaSession Klasse wird benötigt, um von LotusScript eine Verbindung zu einer Java Virtual Machine (JVM) herzustellen. Um auf die Java Wrapper Klasse OOoStart zugreifen zu können, muss erst einmal ein JAVASESSION Objekt instanziiert werden (Zeile 7). Nun kann das JAVACLASS Objekt die Methode GetClass(..) benutzen (Zeile 8), um über das JavaObject den Konstruktor der Klasse OOoStart aufzurufen. Dazu wird in Zeile 9 der CreateObject() Methode als erstes Argument die Datentypensignatur String des OOoStart Konstruktors und als zweites Argument der String selbst übergeben. Da der Konstruktor der Klasse OOoStart als Übergabewert den Programmpfad der OpenOce.org Installation erwartet, wird ihm der String oooExeFolder mit dem Inhalt des Parameters OOoExeFolder aus der notes.ini übergeben. 4. Prototypische Realisierung der OceGateway Schnittstelle Listing 4.2: Starten von OpenOce.org und Önen der Oce-Vorlage 1 Sub Click ( Source As Button ) 2 oObject . bootstrapOpenOffice 3 template = session . GetEnvironmentString (" OOoTemplate ") 4 Call oObject . openDocument ( template ) 5 ... 6 End Sub Die Unterfunktion Click, die im Listing 4.2 zu sehen ist, wird beim Klicken auf die Schaltäche Dokument über Vorlage erstellen ausgeführt. Mithilfe des LS2J Objektes oObject kann nun die Java Methode bootstrapOpenOffice() (Zeile 2) aufgerufen werden, die die Oce Suite OpenOce.org startet. Die Testvorlage OOoVorlage.odt wird in Zeile 3 aus der notes.ini gelesen und der OOoStart Methode OpenDocument(..) als Argument mittels LS2J übergeben, damit OpenOce.org die Vorlage önen kann. 5a+5b+6 Ein Export wird im Gegensatz zum Feldaustausch in der Prototyp Im- plementierung nicht umgesetzt. Um einen Feldaustausch durchzuführen, muss die jeweilige Textmarke der Oce-Vorlage bekannt sein. Im Listing 4.3 wird beispielsweise in Zeile 4 der String zusammengefügt, der die Betrezeile des Oce-Dokumentes enthalten soll. Der Betre wird durch den Befehl doc.GetItemValue ("Subject")(0) gelesen. Nun wird die Betrezeile mithilfe der OOoStart Methode fieldExchange(..) an die Textmarke StartContents der Oce-Vorlage geschrieben. Beim Erstellen der temporären Datei auf dem Dateisystem durch die Funktion TempDir() in der LotusScript Bibliothek ogUtil, muss aufgrund der unterschiedlichen Dateisystemkonventionen eine Unterscheidung zwischen Windows und Linux gemacht werden. Dazu wird die private Funktion Platform() genutzt, die als Ergebnis einen String zurückgibt, der angibt auf welchem Betriebssystem Lotus Notes gerade läuft. Als temporäres Verzeichnis wird unter Windows C:\Temp\ und unter Linux /var/tmp verwendet. 92 4. Prototypische Realisierung der OceGateway Schnittstelle 93 Listing 4.3: Feldaustausch der Betrezeile zwischen Lotus Notes und dem Oce-Dokument 1 Sub Click ( Source As Button ) 2 ... 3 Dim subject As String 4 subject = " Betreff : " & doc . GetItemValue ( " Subject ") (0) 5 Call oObject . fieldExchange (" StartContents " , subject ) 6 ... 7 End Sub 7 Die geönete Vorlage OOoVorlage.odt kann nun durch den Benutzer noch weiter bearbeitet werden. 8 Das in der Testvorlage OOoVorlage.odt integrierte Makro Module1 kann, wie in Abbildung 4.5 zu sehen, über das OceGateway Symbol aktiviert werden. Es ist auch möglich das Makro an ein anderes Event, wie beispielsweise das Önen oder Speichern des Oce-Dokumentes, zu knüpfen. Abbildung 4.5.: Aktivieren des Makros Module1 über das OceGateway Symbol 4. Prototypische Realisierung der OceGateway Schnittstelle 94 Listing 4.4: Makro Module1 triggert Lotus Notes mittels eines Formaufrufes 1 Sub CloseDocument 2 Select Case GetGUIType () 3 Case 1 ' Windows 4 platform = " Windows " 5 Case 4 ' Unix 6 platform = " Linux " 7 End Select 8 ... 9 If platform =" Windows " Then 10 ogConf = "C :\ OfficeGateway \ OGConf . txt " 11 ElseIf platform =" Linux " Then 12 ogConf = "/ etc / OGConf . txt " 13 End If 14 ... 15 formURL = " Notes :/// es \ _ap \ _d . nsf / OOoTriggerForm ? OpenForm " 16 If platform =" Windows " Then 17 command = notes & formUrl 18 ElseIf 19 20 End If 21 22 platform =" Linux " Then command = notes & formUrl Shell ( command ) End Sub Im Listing 4.4 sind einige Teile des OpenOce.org Makros Module1 zu sehen. In Zeile 2 bis 6 wird mithilfe der Funktion GetGUIType() festgestellt auf welchem Betriebssystem OpenOce.org läuft. Anhand dieser Information kann in Zeile 9 bis 13 das Notes Installationsverzeichnis aus der Kongurationsdatei OGConf.txt des entsprechenden Betriebssystems gelesen werden. Da bei der Implementierung der Aufruf des Notes Agenten OOoTrigger direkt aus dem Oce Makro nicht funktioniert, wird der Agentaufruf über eine Form durchgeführt. Dazu wird die Form OOoTriggerForm nach folgender Syntax durch den Shell(..) Befehl auf Betriebssystemebene aufgerufen: <Pfad zum Notes Client> Notes :///<Datenbank>/Notes:///<FormName>?OpenForm. Die Form OOoTriggerForm führt den Formula Befehl @Command([ToolsRunMacro]; "(OOoTrigger)") aus, um den Agenten OOoTrigger zu aktivieren. 9 Der durch die Notes Form OOoTriggerForm getriggerte Agent OOoTrigger speichert in Zeile 2 (siehe Listing 4.5) durch CurrentDocument() die Referenz auf 4. Prototypische Realisierung der OceGateway Schnittstelle 95 das aktuelle Dokument. Dies ist in der Hinsicht ein unsicherer Lösungsansatz, dass es beim zwischenzeitlichen Önen eines anderen Notes-Dokumentes zu einem Fehler kommt, der noch abgefangen werden sollte. Damit die Form OOoTriggerForm nicht als aktuelles Dokument erkannt wird, wird sie in der Unterfunktion Postopen(..) sofort wieder geschlossen. Das temporäre Setzen des Parameters OOoTrigger in der notes.ini ist notwendig, damit in der Unterfunktion PostRecalc(..), die beim Aufruf der Funktion Refresh ausgeführt wird, der Agentenaufruf abgefangen werden kann. Listing 4.5: Triggern von OceGateway durch den LotusScript Agenten OOoTrigger 1 ... 2 Set nuid = nuiw . CurrentDocument () 3 Call session . SetEnvironmentVar (" OOoTrigger " ," 1") 4 Call nuid . Refresh () 5 ... Das Abfangen des Agentenaufrufs durch die Unterfunktion PostRecalc(..), die sich in der ogLib Bibliothek bendet, ist im Listing 4.6 dargestellt. In Zeile 3 wird der vom Agenten OOoTrigger temporär in der notes.ini gespeicherte Parameter OOoTrigger gelesen und im Anschluss daran das bearbeitete OceDokumente mithilfe der Funktion Attach(..) als Anhang im PAVONE Enterprise Oce Dokument gespeichert (siehe Abbildung 4.6). Dabei wird das OceDokument in der prototypischen Implementierung an einer fest im Quellcode denierten Stelle auf dem Dateisystem abgelegt (Zeile 5 und 7). Diese feste Zuordnung resultiert aus der fehlenden Integration in die OceGateway Schnittstelle und sollte durch eine variable Auswahl des Verzeichnisses bzw. des Dateinamens ersetzt werden. Die Unterscheidung zwischen den Betriebssystemen Windows und Linux aufgrund der unterschiedlichen Dateisystemkonventionen wird in Zeile 4 durch die private Funktion Platform() vorgenommen. 4. Prototypische Realisierung der OceGateway Schnittstelle 96 Listing 4.6: Speichern des Oce-Dokumentes im PAVONE Enterprise Oce Dokument beim Ausführen der Unterfunktion PostRecalc(..) 1 Sub PostRecalc ( Source As NotesUiDocument ) 2 ... 3 If session . GetEnvironmentValue (" OOoTrigger ") = " 1" Then 4 If platform () = " Windows " Then 5 Call Me . Attach (" OOoAttachment . odt " , "C :\ OfficeGateway \ OOoAttachment . odt " , Me . Params (" FieldAttachment_OfficeDoc "). Value ) 6 Else 7 Call Me . Attach (" OOoAttachment . odt " , "/ home / test / OOoAttachment . odt " , Me . Params (" FieldAttachment_OfficeDoc "). Value ) 8 End If 9 10 ... End Sub Abbildung 4.6.: Oce-Dokumente als Anhang im PAVONE Enterprise Oce Dokument ge- speichert Bewertung des Prototypen Das Ziel der prototypischen Implementierung, OceGateway auf Windows und Linux lauähig zu machen, wurde durch Tests des Prototypen auf beiden Betriebssystemen bestätigt. Die Performance von OceGateway unter Windows und Linux kann nicht miteinander verglichen werden, da die Linux Testinstallation 6 in einer virtuellen Maschine unter VMware erstellt wurde. Im Folgenden werden einige Probleme und Einschränkun- 6 Siehe Abschnitt A für weitere Informationen 4. Prototypische Realisierung der OceGateway Schnittstelle 97 gen der prototypischen Implementierung aufgezeigt und gegebenfalls Lösungsansätze für den produktiven Einsatz skizziert: • Die Kongurationsdatei OGConf.txt kann, durch eine Parameterübergabe beim Önen von OpenOce.org über die Java Wrapper Klasse OOoStart, ersetzt werden. Dadurch entfällt die Erstellung der Kongurationsdatei und vereinfacht die Konguration von OceGateway. • Die Testvorlage OOoVorlage wird in der prototypischen Implementierung auf dem Dateisystem gespeichert. Grundsätzlich sollten sich die Oce-Vorlagen beim produktiven Einsatz in einer Notes Vorlagendatenbank benden. • Der direkte Agentenaufruf, wie er im Datenaustauschkonzept beschrieben wird, funktioniert nicht. Deshalb wird der Umweg über einen Formaufruf gewählt. Die Form ruft dann den Notes Agenten auf, der das Speichern des Oce-Dokumentes als Anhang im PAVONE Enterprise Oce Dokument veranlasst. • Beim Starten von OpenOce.org wird das integrierte Makro nicht aktiviert. Die Makrosicherheit schlägt zu, obwohl die Makrosicherheit von OpenOce.org auf Niedrig eingestellt ist. Dieses Problem konnte in dieser Arbeit nicht gelöst werden. Um das Problem zu umgehen, muss das Dokument auf dem Dateisystem gespeichert und neu geönet werden. • In der prototypischen Implementierung ist der Speicherort des Oce-Dokumentes, welches als Anhang dem PAVONE Enterprise Oce Dokument zugeordnet wird, fest deniert. Dies sollte durch eine variable Auswahl ersetzt werden. 5. Zusammenfassung Das Hauptaugenmerk dieser Arbeit lag auf der Erarbeitung von möglichen Schnittstellenkonzepten, um einen Datenaustausch zwischen Groupware-basierten Applikationen und Oce Suites zu ermöglichen. Nachdem der Kontext von Oce-Systemen im Bereich des Oce-basierten Arbeitens abgegrenzt und eine begriiche Einordnung von Groupware und Oce Suites gegeben wurde, folgte eine technische Betrachtung einiger GroupwareSysteme und Oce Suites. Zu den Groupware-Systemen zählten Microsoft Exchange, IBM Lotus Notes, Novell GroupWise, Kolab und OX. Die Betrachtung der Oce Suites konzentrierte sich auf Microsoft Oce, OpenOce.org, Lotus SmartSuite und Lotus Symphony. Es folgte das Re-Engineering der PAVONE OceGateway Schnittstelle, die als Beispiel für den Datenaustausch zwischen Groupware-basierten Anwendungen und Oce Suites ausgewählt wurde. Auf Basis der Re-Engineering Ergebnisse wurden Anforderungen an das Konzept zum Datenaustausch zwischen Lotus Notes 8 und OpenOce.org deniert, die als Bewertungsgrundlage für die Erarbeitung der Konzeptansätze dienten. Der konzeptionellen Erarbeitung der Konzeptansätze COMsource, LS2J + Web Service, LS2J + Agent, Rhino + Web Service und Rhino + Agent, folgte eine Diskussion dieser hinsichtlich ihrer Vor- und Nachteile im Hinblick auf die vorher festgelegten Anforderungen. Aufgrund der Vorteile, wie beispielsweise der guten Wirtschaftlichkeit oder der hohen Flexibilität und somit einer guten Wartbarkeit und Portierbarkeit, sind die beiden Ansätze LS2J + Web Service, LS2J + Agent die geeignetesten Ansätze für eine gute Lösung der OceGateway Schnittstelle. Im Kontext der prototypischen Implementierung wurde der LS2J Ansatz in Kombination mit einem Notes Agenten ausgewählt, da er einfacher und schneller umzusetzen ist (Wirtschaftlichkeit). Die prototypische Implementierungsarbeit beschränkte sich auf das Starten der Oce Suite OpenOce.org aus der Lotus Notes basierten Anwendung PAVONE Enterprise Oce heraus und auf das Speichern des OpenOce.org Dokumentes als Anhang Im PAVONE Enterprise Oce 98 5. Zusammenfassung 99 Dokument. Ein weiterer Schwerpunkt lag auf dem Feldaustausch zwischen Lotus Notes und OpenOce.org. 6. Ausblick Da der Schwerpunkt dieser Arbeit auf der Erarbeitung von möglichen Schnittstellenkonzepten lag, wurde die Zeit für die praktische Implementierungsarbeit sehr stark eingeschränkt. Dadurch wurde der Konzeptansatz LS2J in Kombination mit einem Notes Agenten nur ansatzweise prototypisch umgesetzt. Da am Anfang der prototypischen Entwicklungsarbeit in Absprache mit der PAVONE AG eine Prioritätenliste erstellt wurde, konnte jedoch zielstrebig entwickelt werden. Im Folgenden ist noch einmal die Prioritätenliste zu sehen: 1. OpenOce.org aus Lotus Notes heraus starten 2. Zurückspeichern des Oce-Dokumentes als Anhang 3. Feldaustausch zwischen Lotus Notes und OpenOce.org 4. Export von Daten ins Oce-Dokument 5. Event-Handling Die prototypische Implementierungsarbeit beschränkt sich auf das Starten der Oce Suite OpenOce.org aus der Lotus Notes basierten Anwendung PAVONE Enterprise Oce heraus (Punkt 1), auf das Speichern des Oce-Dokumentes als Anhang in das Notes Dokument (Punkt 2) und auf den Feldaustausch zwischen Lotus Notes und OpenOce.org (Punkt 3). Das Konzept ist nur an einigen Stellen in PAVONE OceGateway prototypisch implementiert worden und erhebt nur den Anspruch die Machbarkeit des Konzeptes zu demonstrieren. Zum produktiven Einsatz fehlt die Implementierung des Exports von Daten ins Oce-Dokument (Punkt 4) und das Event-Handling (Punkt 5). Von groÿer Wichtigkeit ist jedoch die Integration des LS2J + Agent Ansatzes in die bestehende PAVONE OceGateway Schnittstelle, um ein marktreifes Produkt zu erhalten. Der Auf- 100 6. Ausblick 101 wand kann mit einem Arbeitsaufwand von 1,5 Mannmonate abgeschätzt werden. Vorraussetzung für diese Abschätzung ist, dass der Entwickler schon Erfahrung mit der PAVONE OceGateway Schnittstelle gesammelt hat. Anhang A. Eingesetzte Software Windows Betriebssystem: Windows XP Groupware-System: Lotus Notes 8 Groupware-basierte Anwendung: PAVONE Enterprise Oce 9 (build 820) Oce Suite: OpenOce V2.3.1 mit Java Runtime Environment (JRE) Java Entwicklungsumgebung: Software Devolopment Kit (SDK) 2.3.0 Java Entwicklungswerkzeuge: Java Development Kit (JDK) 6 Update 5 Integrierte Entwicklungsumgebung: NetBeans 6.0.1 (komplett) mit OpenOce.org Plugin Linux Virtualisierung: VMware Server Console 1.0.1 1 Betriebssystem: SUSE Linux Enterprise Desktop 10 2 Groupware-System: Lotus Notes 8 Groupware-basierte Anwendung: PAVONE Enterprise Oce 9 (build 820) Oce Suite: OpenOce V2.3.1 mit JRE Java Entwicklungsumgebung: SDK 2.3.0 Java Entwicklungswerkzeuge: JDK 6 Update 5 Integrierte Entwicklungsumgebung: NetBeans 6.0.1 (komplett) mit OpenOce.org Plugin 1 Weitere Informationen und freier Download unter http://www.vmware.com/de/products/server/ 2 weitere unterstütze Linux Distributionen sind Red Hat Enterprise Linux Desktop 4 und 5 102 Abbildungsverzeichnis 2.1. Aufgliederung der Software in System- und Anwendungssoftware ([Abts und Mülder, 2004] S.62) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Oce-Systeme im Kontext der Querschnittssoftware (Vgl. [Abts und Mülder, 2004] S.62) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3. 4 5 Softwarewerkzeuge der Anwendungsebene von Oce-Systemen (Vgl. [Abts und Mülder, 2004] S.62) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.4. Kategorisierung der synchronen Kommunikationsdienste . . . . . . . . . . 14 2.5. Kategorisierung der asynchronen Kommunikationsdienste . . . . . . . . . . 17 2.6. Workow-Managment aus IT-Sicht, Organisations-Sicht und BWL-Sicht (Vgl. [Abts und Mülder, 2004] S.210) 2.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Kategorisierung der Oce Suite Komponenten (Vgl. [Abts und Mülder, 2004] S.194) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.9. Eine typische Web Service Architektur (Vgl. [Ebel, 2005] S.395) 3.1. Erstellung eines Serienbriefes mit Hilfe des Dokumenttyps Oce-Serienbrief in PAVONE Enterprise Oce 3.2. 23 Kommunikation, Kooperation und Koordination (Vgl. [Fischer et al., 2002] S.242) 2.8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 35 62 Bi-direktionaler Datenaustausch mithilfe der PAVONE OceGateway Schnittstelle zwischen PAVONE Enterprise Oce und OpenOce.org . . . . . . . 63 3.3. Übersicht der Klassenrelationen der aktuellen OceGateway Implementation 64 3.4. Softwarequalitätsmerkmale nach ISO 9126 (Vgl. [Abran et al., 2003] S.328) 3.5. COMsource Ansatz: Linux Implementation der COMsource Technologie zur Bereitstellung der COM Technologie 103 . . . . . . . . . . . . . . . . . . . 65 73 Abbildungsverzeichnis 3.6. 104 Funktionsweise der Ansätze LS2J und Rhino in Kombination mit einem Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7. Funktionsweise der Ansätze LS2J und Rhino in Kombination mit einem Agentenaufruf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1. 75 76 Implementierung des LS2J + Agent Ansatzes mit Zwischenschalten eines Formaufrufes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 4.2. Die prototypische Implementierung beschränkt sich auf das Oce-Dokument 89 4.3. Klassendiagramm der Java Wrapper Klasse OOoStart . . . . . . . . . . . 4.4. Der Zugri auf die Java Wrapper Klasse OOoStart ndet in dem ein- 90 gebetteten LotusScript Code in der Schaltäche Dokument über Vorlage erstellen mittels LS2J statt . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.5. Aktivieren des Makros Module1 über das OceGateway Symbol . . . . . 93 4.6. Oce-Dokumente als Anhang im PAVONE Enterprise Oce Dokument gespeichert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Tabellenverzeichnis 3.1. Bewertung und Gewichtung der Qualitätskriterien . . . . . . . . . . . . . . 3.2. Bewertung der Konzeptansätze hinsichtlich der relevanten Qualitätskriterien 84 105 71 Listingsverzeichnis 4.1. Initialisierung der LotusScript Erweiterung LS2J . . . . . . . . . . . . . . . 90 4.2. Starten von OpenOce.org und Önen der Oce-Vorlage 92 4.3. Feldaustausch der Betrezeile zwischen Lotus Notes und dem Oce-Dokument 93 4.4. Makro Module1 triggert Lotus Notes mittels eines Formaufrufes 4.5. Triggern von OceGateway durch den LotusScript Agenten OOoTrigger 4.6. Speichern des Oce-Dokumentes im PAVONE Enterprise Oce Dokument . . . . . . . . . . . . . . beim Ausführen der Unterfunktion PostRecalc(..) . . . . . . . . . . . . . . . . 106 94 95 96 Literaturverzeichnis [Abran et al., 2003] Abran, A., Kheli, A., Suryn, W., und Seah, A. (2003). Usability meanings and interpretations in ISO standards. Software Quality Journal, 11(4):325 338. [Abts und Mülder, 2004] Abts, D. und Mülder, W. (5.Auage 2004). Grundkurs Wirt- schaftsinformatik: Eine kompakte und praxisorientierte Einführung. Vieweg & Sohn, Braunschweig/Wiesbaden. [Alby, 2007] Alby, T. (2.Auage 2007). Web 2.0: Konzepte, Anwendungen, Technologien. Hanser Verlag, München. [Allan, 2001] Allan, R. A. (2001). A History of the Personal Computer: The People and the Technology. Allan Publishing, London, Ontario. [Alpar et al., 2002] 2002). Alpar, P., Grob, H. L., Weinmann, P., und Winter, R. (3.Auage Anwendungsorientierte Wirtschaftsinformatik: Strategische Planung, Entwick- lung und Nutzung von Informations- und Kommunikationssystemen. Vieweg & Sohn, Braunschweig/Wiesbaden. [Bergsten, 2002] Bergsten, H. (2.Auage 2002). Java Server Pages. O'Reilly & Associates Inc., Sebastopol. [Berling et al., 2005] 2005). Berling, B., Heinrich, B., Thrun, W., und Vogt, W. (8.Auage Kaspers/Küfner Messen - Steuern - Regeln: Elemente der Automatisierungs- technik. Vieweg & Sohn, Braunschweig/Wiesbaden. [Berndt, 2005] Berndt, T. (2005). OpenOce.org 2.0. O'Reilly Germany Verlag, Köln. [Bühner, 2004] Bühner, R. (10.Auage 2004). Betriebswirtschaftliche Organisationslehre. Wissenschaftsverlag, Oldenbourg. 107 Literaturverzeichnis 108 Borland, J. (2007). IBMs Bürosymphonie. Technology Review. [Borland, 2007] //www.heise.de/tr/artikel/97038 [Brössler und Siedersleben, 2000] http: (Stand: 10.10.2007). Brössler, P. und Siedersleben, J. (2000). Softwaretech- nik: Praxiswissen für Software-Ingenieure. Carl Hanser Verlag, München/Wien. [Coulouris et al., 2002] Coulouris, G., Dollimore, J., und Kindberg, T. (3.Auage 2002). Verteilte Systeme: Konzepte und Design. Pearson Studium, München. [c't, 2005] c't (2005). Netline veröentlicht Open-Xchange Server 5. de/newsticker/meldung/58483 [De Korte, 2006] http://www.heise. (Stand: 12.04.2005). De Korte, E. (2006). The GroupWise Powerguide: Get the Most Out of Group Wise. Books4Brains. [Dierker und Sander, 1998] Dierker, M. und Sander, M. (1998). Lotus Notes 4.6 und Domino: Integration von Groupware und Internet. Addison-Wesley Verlag, Bonn. [Drilling et al., 2000] Drilling, T., Kobylinska, A., und Martins, F. (2000). Linux: Pro Know-How. Data Becker, Düsseldorf. [Ebel, 2005] Ebel, N. (2005). WebSphere Domino Workplace Administration: Anwen- dungsplattformen integrieren. Addison-Wesley Verlag, Bonn. [Ehlers, 1997] Ehlers, P. (1997). Integriertes Projekt- und Prozessmanagement auf Ba- sis innovativer Informations- und Kommunikationstechnologien: Das GroupProjektSystem. PhD thesis, Dissertation am Groupware Competence Center der Univerität Paderborn. [Elmasri und Navathe, 2002] Elmasri, R. und Navathe, S. B. (3.Auage 2002). Grund- lagen von Datenbanksystemen. Pearson Studium, München. [Feilner, 2007] Teil 1. Feilner, M. (2007). Linux-Magazin Online. Die Platzhirsche - Übersicht Groupware-Server, http://www.linux-magazin.de/online_artikel/ uebersicht_groupware_server_teil_1 [Fischer et al., 2002] (Stand: 23.04.2008). Fischer, J., Herold, W., Dangelmaier, W., Nastansky, L., und Suhl, L. (3.Auage 2002). Bausteine der Wirtschaftsinformatik: Grundlagen, Anwendungen, PC-Praxis. Erich Schmidt Verlag, Essen. Literaturverzeichnis [Flanagan, 2007] 109 Flanagan, D. Javascript: Das umfassende Referenzwerk. (2007). O'Reilly Germany Verlag, Köln. Gibson, W. (2005). Flying Solo: A Survival Guide for the Solo and Small [Gibson, 2005] Firm Lawyer. American Bar Association. Griel, F. (1998). Componentware. Konzepte und Techniken eines Soft- [Griel, 1998] wareparadigmas. dpunkt-Verlag, Heidelberg. [Hansen und Neumann, 2005] Hansen, H. R. und Neumann, G. (9.Auage 2005). Wirt- schaftsinformatik I. Lucius & Lucius, Stuttgart. [Head, 2008] Head, J. (2008). BP215 Integration of IBM Lotus Notes 8 with IBM Lotus Symphony and OpenOce.org. http://www.pcslisten.com/ Präsentation enTouchCMS/FileUplFolder/BP215.pdf. Hein, A. (1. Auage 2007). Web 2.0: Das müssen Sie wissen. Haufe Verlag. [Hein, 2007] [Hierlmeier, 2004] Hierlmeier, E. (2004). News. Starkes Geschütz gegen Microsoft Exchange. http://www.crn.de/showArticle.jhtml?articleID= Computer Reseller 184423677 (Stand: 09.12.2004). Horst, B. (2004). The Tiny Guide To OpenOce.org. Hentzenwerke, Mil- [Horst, 2004] waukee. Hunter, J. (1998). Java Servlet Programming. O'Reilly & Associates Inc., [Hunter, 1998] Sebastopol. [IBM, 2007a] IBM (2007a). A Whitepaper LOW10802-USEN-01, preview of IBM Lotus Notes 8 software. ftp://ftp.software.ibm.com/software/lotus/ lotusweb/product/notes/Hannover_white_paper.pdf. [IBM, 2007b] ding on IBM the USEN-00, (2007b). evolution of IBM Lotus people-centric Notes and applications. Domino software: Whitepaper buil- LOB10852- ftp://ftp.software.ibm.com/software/lotus/pub/lotusweb/product/ domino/NDRoadmapBrochure.pdf. [IBM, 2007c] IBM (2007c). An overview of the IBM productivity tools. Whi- Literaturverzeichnis tepaper, 110 ftp://ftp.software.ibm.com/software/lotus/pub/lotusweb/misc/IBM_ productivity_tools_overview.pdf. [IBM, 2007d] IBM (2007d). Neuerungen in IBM Lotus Notes und Lotus Domino 8. IBM. Broschüre LOB10862-DEDE-00 ftp://ftp.software.ibm.com/software/emea/de/ lotus/LOB10862-DEDE-00_HR.pdf. [IBM, 2008a] IBM (2008a). IBM Lotus SmartSuite 9.8. software/lotus/products/smartsuite [IBM, 2008b] IBM (2008b). http://www-306.ibm.com/ (Stand: 23.04.2008). Freelance Graphics - Fact Sheet. http://www-306. ibm.com/software/lotus/products/smartsuite/freelancefeatures.html (Stand: 23.04.2008). [IBM, 2008c] IBM (2008c). Lotus Approach - Fact Sheet. http://www-306. ibm.com/software/lotus/products/smartsuite/approachfeatures.html (Stand: 23.04.2008). [IBM, 2008d] IBM (2008d). Lotus SmartSuite. http://www-142.ibm.com/software/ dre/ecatalog/Detail.wss?locale=de_DE&synkey=U105945Z10099Y00 (Stand: 23.04.2008). [ISO, 2001] ISO (2001). ISO/IEC 9126 - Software product evaluation-quality characte- ristics and guidelines for the user. [Janowicz, 2005] Janowicz, K. (2. Auage 2005). Sicherheit im Internet. O'Reilly Ger- many Verlag, Köln. [Jordan, 2001] Jordan, P. D. (2001). Paralegal Studies: An Introduction. Delmar Cengage Learning, New York. [Jung, 2006] Jung, J. (2006). te. Computer Reseller News. 188102594 Groupware-Alternativen: Exchange auf der Abschusslis- http://www.crn.de/showArticle.jhtml?articleID= (Stand: 16.03.2006). [Kahlbrandt, 2001] Kahlbrandt, B. (2.Auage 2001). Software-Engineering mit der Uni- ed Modeling Language. Springer Verlag, Berlin/Heidelberg. Literaturverzeichnis [Kirchmer, 1996] 111 Kirchmer, M. (1996). Geschäftsprozeÿorientierte Einführung von Stan- dardsoftware: Vorgehen zur Realisierung strategischer Ziele. Gabler Verlag, Wiesbaden. [Klöppner, 2007] Klöppner, C. (2007). Rechtsprobleme der IP-Telefonie. LIT Verlag, Münster. [Klösch und Gall, 1995] Klösch, R. und Gall, H. (1995). Objektorientiertes Reverse En- gineering. Springer Verlag, Berlin/Heidelberg. Koer, M. (3.Auage 2005). The Denitive Guide to MySQL. Apress. [Koer, 2005] [Koer und Öggl, 2005] Koer, M. und Öggl, B. (2005). PHP: Hypertext Preprocessor (PHP) 5 und MySQL 5. Pearson Studium, München. [Koll, 2007] parison. Koll, K. (2007). OpenOce.org 2.x and Microsoft Oce 2007 Feature Com- http://www.openoffice.org/product/docs/ms2007vsooo2.pdf. [Kollmann, 2007] Kollmann, T. (2007). Web 2.0: Trends und Technologien im Kontext der Net Economy. Deutscher Universitäts-Verlag, Wiesbaden. [Kor, 2006] Kor, M. (2006). Projektmanagement: Management von Zeit, Ressourcen und Kosten im Rahmen eines Projektes. [Krause, 2002] Krause, U. C. (2002). Novell GroupWise 6 - Leitfaden zur Installation, Konguration und Systemverwaltung. Carl Hanser Verlag, München/Wien. [Kroll, 2000] Kroll, H. (2000). Rechnungswesen im Handwerk. Schlütersche. [Kurose und Ross, 2002] Kurose, J. F. und Ross, K. W. (2002). Computernetze. Pearson Studium, München. [Laguna de la Vera, 2007] on. Whitepaper Laguna de la Vera, R. (2007). Die Zukunft von Collaborati- http://www.open-xchange.com/fileadmin/downloads/Future_of_ Collaboration_Deutsch.pdf. [Lüders, 2001] Lüders, C. (2001). Mobilfunksysteme. Vogel Buchverlag, Würzburg. [Lieberwirth, 2004] Lieberwirth, F. C. (2004). Microsoft Certied Systems Engineer (MCSE) Windows Server 2003 Active Directory-Infrastruktur. lag, Bonn. Addison-Wesley Ver- Literaturverzeichnis [Lotus, 1995] 112 Lotus (1995). Groupware: Communication, Collaboration, Coordination. [Microsoft, 2007] Microsoft (2007). Microsoft Exchange Server 2007. microsoft.com/de-de/library/bb124558(EXCHG.80).aspx [Microsoft, 2008a] Microsoft (2008a). FX101674041031.aspx [Microsoft, 2008b] (Stand: 23.04.2008). Microsoft Microsoft [Microsoft, 2008e] Microsoft Microsoft [Microsoft, 2008h] http://office.microsoft.com/de-de/ (2008e). (Stand: 23.04.2008). http://office.microsoft.com/de-de/ (2008f ). (Stand: 23.04.2008). Microsoft (2008g). HA101679411031.aspx http://office.microsoft.com/de-de/suites/ (Stand: 23.04.2008). publisher/HA100385691031.aspx [Microsoft, 2008g] http://office.microsoft.com/de-de/ (Stand: 23.04.2008). infopath/HA101635771031.aspx [Microsoft, 2008f ] (Stand: 23.04.2008). (2008c). Microsoft (2008d). HA101656431031.aspx http://office.microsoft.com/de-de/ (2008b). onenote/HA100325701031.aspx [Microsoft, 2008d] http://office.microsoft.com/de-de/suites/ (Stand: 23.04.2008). Miedl, W. (2007). (Stand: 23.04.2008). Müller, J. (2004). Computerwoche. Microsoft setzt auf Collaboration. http://www.computerwoche.de/heftarchiv/2007/07/1217901 [Müller, 2004] http://office. Microsoft (2008h). Microsoft oce enterprise 2007. microsoft.com/de-de/suites/HA101656551031.aspx [Miedl, 2007] (Stand: 31.10.2007). http://office.microsoft.com/de-de/suites/ communicator/HA102037151031.aspx [Microsoft, 2008c] http://technet. Workow-based Integration. (Stand: 05.02.2007). Springer Verlag, Ber- lin/Heidelberg. [Ngo, 2007a] paper Ngo, T. (2007a). Übersicht über Oce Open XML. White- http://www.ecma-international.org/news/TC45_current_work/OpenXML_ White_Paper_German.pdf. [Ngo, 2007b] Ngo, T. (2007b). Oce Open XML Overview. Whitepaper Literaturverzeichnis 113 http://www.ecma-international.org/news/TC45_current_work/OpenXML% 20White%20Paper.pdf. [Noe, 2006] Noe, M. (2006). Projektbegleitendes Qualitatsmanagement. Wiley-VCH Ver- lag, Weinheim. [Novell, 2005] semitteilung, Novell (2005). Zahlreiche Neuerungen in Novell GroupWise 7. http://www.novell.com/de-de/DE/news/press/novell_opens_the_ enterprise_for_cross_platform_collaboration_de-de [Novell, 2006a] ness Goals. Pres- Novell (2006a). (Stand: 28.06.2005). A Collaboration Solution That Supports Your Busi- Business Whitepaper 462-DE2056-002 http://www.novell.com/rc/ docrepository/public/37/RC-23542/28634.pdf. [Novell, 2006b] Novell (2006b). Open by Design - The Advantages of the OpenDocu- ment Format (ODF). OASIS Whitepaper http://www.oasis-open.org/committees/ download.php/21450/oasis_odf_advantages_10dec2006.pdf. [Novell, 2007a] tät bei Novell (2007a). Workgroups. Geschäftlicher Erfolg durch Auswahl und Flexibili- Whitepaper 462-DE2056-002 http://www.novell.com/rc/ docrepository/public/37/basedocument.2007-03-14.9214224451/462DE2056_ de_de.pdf. [Novell, 2007b] Novell (2007b). Install Guide. http://www.novell.com/ documentation/gw7/pdfdoc/gw7_install/gw7_install.pdf. [Open-Xchange, a] Open-Xchange. Open-Xchange Server 5. http://www. open-xchange.com/DE/header/produkte/openxchange_server_5.html (Stand: 23.04.2008). [Open-Xchange, b] Open-Xchange. on for your company. The powerful, next generation groupware soluti- http://www.open-xchange.com/fileadmin/downloads/OX5_ FactSheet_EN.pdf. [Ott, 1999] Ott, M. (1999). Organization Design as a Groupware-supported Team Pro- cess, Group-Orga - Participative and Distributed Organization Design for Oce information and Workow Management Systems. Kluwer Academic Publishers, Dordrecht, The Netherlands. Literaturverzeichnis [PAVONE, 2007] 114 PAVONE (2007). PAVONE OceGateway: Leistungsüber- http://www.pavone.de/pages.nsf/7b818bbcaa69e993c125714c002b1359/ sicht. 0d6c2d1d1836c724c125737c0049678c/$FILE/Leistungs%C3%BCbersicht_PAVONE_ OfficeGateway.pdf. [PAVONE, 2008a] PAVONE (2008a). PAVONE Enterprise Oce 9 - Administrations- handbuch. [PAVONE, 2008b] PAVONE (2008b). PAVONE Enterprise Oce 9 - Erste Schrit- http://www.pavone.de/pages.nsf/7b818bbcaa69e993c125714c002b1359/ te... 31e7380d2ef68c2cc12573220030d058/$FILE/PAVONE%20Enterprise%20Office% 207.6_Erste%20Schritte.pdf. Petzel, E. (2005). E-Finance: Technologien, Strategien und Geschäftsmo- [Petzel, 2005] delle. Gabler Verlag. [Pte, 2008] Pte fentlicht. (2008). Lotus Symphony: Software Development Kit veröf- http://www.computerwoche.de/produkte_technik/software/1854741/ index.html (Stand: 04.02.2008). [Reese et al., 2003] Reese, G., Yarger, R. J., und King, T. (2003). MySQL. O'Reilly & Associates Inc., Sebastopol. [Riempp, ] Riempp, G. Wide Area Workow Management. Creating Partnerships for the 21st Century CSCW. [S., 2001] S., W. (2001). woche, (42). html Star Oce 6 löst sich vom Microsoft-Vorbild. Computer- http://www.computerwoche.de/heftarchiv/2001/42/1071354/index. (Stand: 19.10.2001). [Schäer, 2002] Schäer, S. (2002). Enterprise Java mit IBM WebSphere: Java Platform, Enterprise Edition (J2EE)-Applikationen ezient entwickeln. Addison-Wesley Verlag, Bonn. [Schmidt und Wohlberg, 2007] Schmidt, J. und Wohlberg, G. (2007). OpenOce.org 2.3 - Developer's Guide. [Schütze, 2008] Schütze, E. (2008). Allgemeine Betriebsdokumentation für Literaturverzeichnis Kolab Server 115 2.2. Osnabrück, 1.0 edition. http://www.kolab.org/doc/ Allgemeine-Betriebsdokumentation-KolabServer22_20080103_1.0.pdf. [Schule mobil, 2007] 2.0. Schule mobil, P. (2007). Einführung in OpenOce.org www.linux-magazin.de/content/download/15528/108976/Steglich_ EinfuehrungOOo.pdf [Schwichtenberg, 2001] (Stand: 12.02.2008). Schwichtenberg, H. (2001). COM-Komponenten-Handbuch. Addison-Wesley Verlag, Bonn. [Schwichtenberg, 2005] Schwichtenberg, H. (2005). Windows Scripting. Addison-Wesley Verlag, Bonn. [Schwichtenberg und Eller, 2004] Schwichtenberg, H. und Eller, F. (2004). Programmie- rung mit der .NET-Klassenbibliothek. Addison-Wesley Verlag, Bonn. [Seufert, 1997] Seufert, A. (1997). Groupware enabled Data Warehouse: Management Support für die professionelle Know-how Organisation Prüfungs- und Beratungsgesellschaft. Gabler Verlag, Wiesbaden. [Stahlknecht und Hasenkamp, 2002] Stahlknecht, P. und Hasenkamp, U. (2002). Einfüh- rung in die Wirtschaftsinformatik. Springer Verlag, Berlin/Heidelberg. [Stocksmeier, 2002] Stocksmeier, T. (2002). Business-Webdesign: Benutzerfreundlichkeit, Konzeptionierung, Technik, Wartung. Springer Verlag, Berlin/Heidelberg. [Störmer, 2004] Störmer, M. (2004). Open Source Groupware am Beispiel Kolab. [Tenhumberg, 2007] Tenhumberg, E. (2007). OpenOce: Community statt Featuritis. Computerwoche, (7). http://www.computerwoche.de/heftarchiv/2007/07/1217908 (Stand: 06.02.2007). [Teufel et al., 1995] Teufel, S., Sauter, C., Mühlherr, T., und Bauknecht, K. (1995). Com- puterunterstützung für die Gruppenarbeit. Addison-Wesley Verlag, Bonn. [Thalmayr, 2005] Thalmayr, D. (2005). Umsatteln auf Linux. O'Reilly Germany Verlag, Köln. [Vahrenkamp, 2004] Vahrenkamp, R. (5.Auage 2004). Produktionsmangement. Wissen- schaftsverlag, Oldenbourg. Literaturverzeichnis [Voss, 2004] 116 Voss, A. (2004). Outlook für's Büro. Franzis Verlag, London, Ontario. Wagner, M. (1995). Groupware und neues Management: Einsatz geeigne- [Wagner, 1995] ter Softwaresysteme für exiblere Organisationen. Vieweg & Sohn, Braunschweig/Wiesbaden. [Weber, 1998] c't, (11):62. Weber, V. (1998). OS/2 Latecomer - Lotus SmartSuite for OS/2 Warp 4. http://www.heise.de/ct/english/98/11/062/ [Webteam, 2007] Webteam (2007). (Stand: 12.1998). The History of Notes and Domino. www.ibm.com/developerworks/lotus/library/ls-NDHistory/index.html http:// (Stand: 14.11.2007). [Weiss, 2002] Weiss, S. (3.Auage 2002). Handheld Usability. Wiley & Sons, Chichester. [Zisman, 1996] Zisman, A. (1996). Lotus SmartSuite 96 challenges Microsoft Oce. http://www.zisman.ca/Articles/1996/Smart96.html [Zwahlen, 2004] Zwahlen, C. (2004). Oce Programme. ch/downloads2/Office_programme_mac.pdf. (Stand: 05.2006). http://www.zwahlendesign.