Migrationsleitfaden Version 3.0
Migrationsleitfaden Version 3.0
Migrationsleitfaden Version 3.0
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Leitfaden für die<br />
Migration von Software<br />
Publikation des Bundesministerium des Innern<br />
April 2008<br />
<strong>Migrationsleitfaden</strong><br />
<strong>Version</strong> <strong>3.0</strong>
Publikation des Bundesministerium des Innern<br />
Nachdruck, auch auszugsweise, ist genehmigungspflichtig<br />
Interessenten erhalten die derzeit lieferbaren Veröffentlichungen<br />
des Bundesministerium des Innern<br />
und weiterführende Informationen zu den Dokumenten beim<br />
Bundesministerium des Innern<br />
Referat IT 2<br />
11014 Berlin<br />
Homepage: http://www.kbst.bund.de/<br />
E-Mail: IT2@bmi.bund.de
<strong>Migrationsleitfaden</strong><br />
<strong>Version</strong> <strong>3.0</strong><br />
Leitfaden für die<br />
Migration von Software<br />
1. Auflage<br />
Berlin, April 2008<br />
Herausgegeben vom<br />
Bundesministerium des Innern
Vorwort zur dritten <strong>Version</strong> des <strong>Migrationsleitfaden</strong>s<br />
Der <strong>Migrationsleitfaden</strong> hat sich als praxisrelevantes, konkret anwendbares Werkzeug zu<br />
vielschichtigen Migrationsfragestellungen etabliert und ist in der Bundesverwaltung und<br />
darüber hinaus akzeptiert und hoch geschätzt. Das Dokument bietet IT-Entscheidern<br />
neben reichhaltigen technischen Informationen zu proprietärer und Open Source Software<br />
eine praktische Hilfe für die Planung und Durchführung von Softwaremigrationen in<br />
verschiedenste Richtungen.<br />
Aufgrund der immer kürzer werdenden Innovationszyklen der Technik wird nun mit dem<br />
<strong>Migrationsleitfaden</strong> <strong>3.0</strong> eine inhaltlich aktuelle Fassung bezüglich der derzeit und in den<br />
kommenden Jahren in Migrationsprojekten anzutreffenden Technologien vorgelegt. Bewährte<br />
Elemente der Vorgängerversionen, wie beispielsweise den praktischen Hinweisen<br />
zum Vorgehen bei Wirtschaftlichkeitsbetrachtungen und den rechtlichen Rahmenbedingungen,<br />
in denen sich Softwaremigrationsprojekte bewegen, werden in der <strong>Version</strong><br />
<strong>3.0</strong> in aktualisierter Form fortgeführt.<br />
Die wesentliche Neuerung des <strong>Migrationsleitfaden</strong> <strong>3.0</strong> gegenüber seinen Vorgängerversionen<br />
besteht in Form eines komplett überarbeiteten Strukturkonzeptes mit stärker ausgeprägter<br />
Modularisierung. Der Nutzwert des Dokumentes wird insbesondere durch dieses<br />
Element gesteigert, da es die Zuordnung der Fragestellungen der Leserinnen und<br />
Leser zu den Dokumenteninhalten vereinfacht.<br />
Die modularisierte Dokumentenstruktur bildet auch die Basis für eine einfachere Aktualisierung<br />
der einzelnen Dokumenteninhalte. Kürzere Veröffentlichungszyklen werden zukünftig<br />
einfacher umsetzbar. Zudem markiert die Einführung der neuen Dokumentenstruktur<br />
einen wichtigen Meilenstein auf dem Weg zu einer neuen Publikationsform des<br />
<strong>Migrationsleitfaden</strong>s als interaktives Web-Angebot.<br />
Die Autoren wünschen den Leserinnen und Lesern des <strong>Migrationsleitfaden</strong>s eine anregende<br />
und gewinnbringende Lektüre sowie die gewinnbringende Anwendung der skizzierten<br />
Lösungsszenarien in der täglichen Arbeitspraxis.<br />
Seite 4
Aufbau und Inhalt des <strong>Migrationsleitfaden</strong>s<br />
Behörden und Organisationen stehen wiederholt vor der Entscheidung, wie sie ihre IT-<br />
Systemlandschaften zukünftig entwickeln wollen. Die Gründe dafür sind vielfältig:<br />
� Auslaufender Hersteller-Support für wesentliche Produkte<br />
� Erweiterte technische Anforderungen<br />
� Konsolidierung der bestehenden Systemlandschaften<br />
� Strategische Ziele, wie beispielsweise verstärkte Herstellerunabhängigkeit und<br />
erhöhte Interoperabilität.<br />
Ihnen stellt sich somit aktuell die Frage, welche Systeme und Komponenten zukünftig<br />
die Basis ihrer IT-Struktur bilden sollen. Der <strong>Migrationsleitfaden</strong> will ihnen dabei durch<br />
seinen strukturellen und modularen Aufbau sowie durch seine Inhalte eine Hilfestellung<br />
geben.<br />
Änderungen gegenüber der <strong>Version</strong> 2.0<br />
Die erste Fassung des <strong>Migrationsleitfaden</strong>s wurde in der <strong>Version</strong> 1.0 im Jahr 2003 veröffentlicht.<br />
Dieses Dokument wurde über 100.000 Mal aus dem Netz herunter geladen und<br />
in mehrere Sprachen übersetzt.<br />
Im Jahr 2005 wurde die <strong>Version</strong> 1.0 durch eine Fortschreibung des Dokumentes auf die<br />
<strong>Version</strong> 2.0 aktualisiert. Die auf diesem Dokument aufbauende, zuletzt veröffentlichte<br />
<strong>Version</strong> 2.1 beinhaltete gegenüber ihrer Vorgängerversion bereits Ausführungen und<br />
praktische Tipps zu Wirtschaftlichkeitsbetrachtungen und rechtlichen Aspekten geplanter<br />
Software-Migrationen.<br />
Mit dem <strong>Migrationsleitfaden</strong> <strong>3.0</strong> legt die KBSt nun eine komplett überarbeitete und aktualisierte<br />
Fassung mit stärker ausgeprägter Modularisierung der technischen Themen vor.<br />
Darüber hinaus wurden vor allem weitere Produkte und Technologien aufgenommen,<br />
zum Beispiel der Themenbereich Teaming- und Workgroupsoftware (Collaborationsoftware)<br />
mit den Produkten „Microsoft Office SharePoint Server―, „O3Spaces Work-place<br />
2―, „Novell Teaming + Conferencing―, „Lotus Quickr 8.0― und die Open Source Software<br />
„Mindquarry―.<br />
Aufbau des <strong>Migrationsleitfaden</strong>s<br />
Eingebettet in ein Rahmenkapitel enthält der <strong>Migrationsleitfaden</strong> <strong>3.0</strong> die drei Kernmodule<br />
Querschnittsthemen, Infrastrukturen und Anwendungen. Diese Module markieren in der<br />
Arbeitspraxis klar voneinander abgrenzbare Themengebiete mit spezifischen Aufgabenstellungen.<br />
Um den Leserinnen und Lesern eine klare Orientierung im Dokument zu ermöglichen,<br />
werden die drei Kernmodule mit einer einheitlichen Untergliederung ausgestattet. Diese<br />
enthält die fünf Ebenen:<br />
� Modul,<br />
� Themen,<br />
Seite 5
� Produkte,<br />
� Migrationspfade und<br />
� Bezüge.<br />
Entlang dieser Untergliederung entsteht ein einheitlicher Strukturrahmen für alle Kernmodule,<br />
der es den Leserinnen und Lesern ermöglicht, Problemstellungen auf stets<br />
gleich bleibenden Pfaden zu lösen. Diese Struktur ist in der nachfolgenden Grafik dargestellt.<br />
Nutzung durch<br />
Anwender<br />
• In welchem<br />
Umfeld habe<br />
ich ein<br />
Problem?<br />
• Zu welchem<br />
Thema gehört<br />
mein Problem?<br />
• Welche<br />
Produkte sind<br />
betroffen?<br />
• Welcher<br />
Migrationspfad<br />
hilft mir?<br />
• Was muss ich<br />
sonst noch<br />
beachten?<br />
Modul<br />
Themen<br />
Produkte /<br />
Technologien<br />
Migrationspfade<br />
Bezüge<br />
Abbildung 1: Struktur des <strong>Migrationsleitfaden</strong><br />
Seite 6<br />
Beispiel:<br />
Migration DBMS<br />
• Infrastruktur<br />
• Datenbanken<br />
• MySQL<br />
• PostgreSQL<br />
• SQL-Server<br />
• z.B. SQL-Server<br />
nach<br />
PostgreSQL<br />
• z.B. Datenquellen<br />
in<br />
Office-Anwendungen<br />
In der Grafik sind die Fragen des sich orientierenden Lesers den Bezugspunkten des<br />
Dokumentes auf dessen inhaltlichen Ebenen zugeordnet. So wird ein Leser, der beispielsweise<br />
die Migration eines Datenbankmanagementsystems plant, die Problemlösung<br />
auf dem in der Grafik skizzierten Pfad durch die Dokumentenstruktur finden. Sucht<br />
derselbe Leser nach einer anderen Problemlösung, beispielsweise in einem Thema des<br />
Moduls Anwendungen, so wird er zu dieser unter Verwendung desselben strukturellen<br />
Pfades durch das Dokument gelangen.<br />
Das Modul Querschnittsthemen weicht von dieser vorgegebenen Struktur ab, da hier<br />
innerhalb des Moduls nur noch eine Unterteilung nach Themen erfolgt.<br />
Inhalt des <strong>Migrationsleitfaden</strong>s<br />
Der <strong>Migrationsleitfaden</strong> beschäftigt sich inhaltlich mit der Migration von Software. Nach<br />
wie vor liegt bei den technischen Betrachtungen aktuell der Fokus auf den Basissoftwarekomponenten<br />
von IT-Infrastrukturen. Der <strong>Migrationsleitfaden</strong> hat aber den Anspruch,<br />
zukünftig alle für die Verwaltung relevanten Softwarekomponenten in seine Betrachtungen<br />
einzubeziehen. Diese Zielsetzung wird durch die oben beschriebene neue
Struktur und stärkere Modularisierung unterstützt, sie ermöglicht eine effiziente Erweiterung<br />
beziehungsweise Anpassung der Inhalte des Leitfadens an die Bedürfnisse der<br />
öffentlichen Verwaltung.<br />
Innerhalb der Kernmodule „Infrastrukturen― und „Anwendungen― betrachtet der Leitfaden,<br />
untergliedert nach Themen, wie zum Beispiel Netzwerkdienste oder Datenbankmanagementsysteme,<br />
zunächst die einzelnen Produkte und Technologien hinsichtlich<br />
ihres technischen Aufbaus und der technischen Besonderheiten sowie ihrer Funktionalitäten.<br />
Darüber hinaus wird auch ein Blick auf die bisherige Entwicklung, die Verfügbarkeit<br />
unterschiedlicher <strong>Version</strong>en und Editionen sowie der Lizenzbedingungen, unter<br />
denen die Produkte und Technologien eingesetzt werden können, geworfen. Betrachtet<br />
wird dabei proprietäre und Open Source Software in gleichem Maße.<br />
Definition:<br />
Open Source Software, Free Software, Freie Software<br />
Die Begriffe „Open Source Software“ und „Free Software“ oder „Freie Software“ werden innerhalb<br />
dieses <strong>Migrationsleitfaden</strong>s synonym angewendet. Im Rahmen des Leitfadens wird<br />
hierfür die Abkürzung OSS eingesetzt.<br />
OSS erlaubt es jedem, den frei verfügbaren Quellcode zu nutzen, zu analysieren, zu modifizieren<br />
und zu verbreiten. Diese Offenheit gibt den Nutzern die Möglichkeit, aus dem Quellcode<br />
selbst zu lernen beziehungsweise ihn an die persönlichen Bedürfnisse anzupassen.<br />
OSS ist frei von Lizenzkosten und darf auch in modifizierter Form kopiert und weitergegeben<br />
werden. Die Freiheit der Software wird durch die entsprechenden Lizenzen geregelt.<br />
Proprietäre Software<br />
Im Gegensatz zu Open Source Software ist proprietäre Software das Eigentum einer Person<br />
oder einer Organisation. In der Regel handelt es sich dabei um den Hersteller der Software.<br />
Die Nutzung der Software unterliegt den Lizenzbestimmungen, die der Eigentümer<br />
der Software festgelegt hat. Dabei ist ihre Vervielfältigung, Weiterverbreitung und Modifizierung<br />
meist untersagt.<br />
Unter der Voraussetzung, dass die entsprechenden Lizenzbedingungen akzeptiert werden,<br />
wird sie in einigen Fällen auch kostenlos angeboten. Diese Software ist jedoch keine Open<br />
Source Software.<br />
Im Anschluss an die Produkt- und Technologiebetrachtung erfolgt innerhalb jedes<br />
Themenblockes die Betrachtung ausgewählter Migrationspfade. Zum Zeitpunkt der<br />
Veröffentlichung der ersten <strong>Version</strong> des <strong>Migrationsleitfaden</strong>s im Jahre 2003 bestand<br />
hinsichtlich der Ausgangssituation der IT-Infrastrukturen bei den Behörden ein relativ<br />
homogenes Bild. Dieses hat sich in den letzten Jahren deutlich gewandelt. Zwar werden<br />
immer noch überwiegend Windows-basierte IT-Infrastrukturen betrieben, aber selbst hier<br />
gibt es sehr unterschiedliche Ausgangslagen. Daneben haben sich die unterschiedlichsten<br />
Linux-basierten und auch heterogenen IT-Landschaften entwickelt.<br />
Diese zunehmende Heterogenität der IT-Landschaften führt dazu, dass differenziertere<br />
Möglichkeiten zur Migration bestehen und beschrieben werden müssen. Es wird unterschieden<br />
zwischen den ablösenden und den fortführenden Migrationspfaden.<br />
Seite 7
Definition<br />
Fortführende Migration<br />
In den bisherigen <strong>Version</strong>en des <strong>Migrationsleitfaden</strong>s wurde dieser Begriff aufgrund der damals<br />
in den Behörden vorliegenden, weitgehend einheitlichen Ausgangslage (Windows NT<br />
basierte IT-Infrastrukturen) in erster Linie mit der Fortführung der Produktlinien von Microsoft<br />
verbunden. Heute gibt es sehr unterschiedliche Ausgangslagen, deshalb wird unter<br />
„Fortführende Migration“ die Fortführung einer bestehenden Produktlinie beziehungsweise<br />
eines bestehenden Produktes, also zum Beispiel die Migration von StarOffice 7 nach Star-<br />
Office 8 oder die Migration von MS Office 2003 nach MS Office 2007 verstanden.<br />
Ablösende Migration<br />
Dementsprechend handelt es sich bei einer ablösenden Migration um die Ablösung einer<br />
bestehenden Produktlinie oder eines Produktes durch eine andere Produktlinie oder ein<br />
anderes Produkt. Dies kann zum Beispiel die Ablösung von StarOffice 7 durch MS Office<br />
2007 oder MS Office XP durch OpenOffice.org 2.3 oder auch die Ablösung der Groupware<br />
Scalix durch Kolab sein.<br />
Als mögliche ablösende Pfade kommen in Betracht:<br />
� Ablösung einer proprietären Lösung durch eine OSS-Lösung<br />
� Ablösung einer proprietären Lösung durch eine andere proprietäre Lösung<br />
� Ablösung einer OSS-Lösung durch eine proprietäre Lösung<br />
� Ablösung einer OSS-Lösung durch eine andere OSS-Lösung<br />
Und bei den fortführenden Pfaden gibt es folgende Möglichkeiten:<br />
� Fortführung einer proprietären Lösung<br />
� Fortführung einer OSS-Lösung<br />
Die Erfahrungen der Vergangenheit haben gezeigt, dass Migrationen sowohl in die eine<br />
als auch in die andere Richtung technisch machbar sind. Insbesondere das Vorurteil,<br />
dass nur mit proprietärer Software sinnvolle Wege beschritten werden können, wurde in<br />
vielen Migrationsprojekten und an unzähligen Stellen im betrieblichen Einsatz widerlegt.<br />
Die Praxis macht auch deutlich, dass unter entsprechenden Randbedingungen im Einzelfall<br />
auch heterogene IT-Umgebungen durchaus wirtschaftlich, bedarfs- und praxisgerecht<br />
sein können. Diese praktischen Erfahrungen belegen, dass bei punktuellen Migrationen<br />
oder Migrationen in Teilbereichen durchaus darüber nachgedacht werden darf,<br />
ablösende Migrationspfade zu beschreiten, auch wenn dadurch Heterogenität in der IT-<br />
Landschaft geschaffen oder gegebenenfalls verstärkt wird. Eine wichtige inhaltliche Frage,<br />
die sich hierbei ebenfalls häufig stellt, lautet: „Welcher Grad an Integration wird benötigt<br />
und lässt sich dieser auch in einer heterogenen Umgebung realisieren?― Das heißt,<br />
lassen sich die Funktionalitäten, die nur durch ein bestimmtes Maß an Integration bereitgestellt<br />
werden können, auch in einer heterogenen Umgebung bereitstellen. Das Thema<br />
Integration wird im Abschnitt I.A 3 näher betrachtet.<br />
Seite 8
Letztendlich hängt die Wahl der Migrationspfade und die Gesamtausrichtung einer IT-<br />
Landschaft von den Anforderungen und den Rahmenbedingungen einer Organisation,<br />
einer Behörde ab. Diese sind in der Regel aber innerhalb jeder Behörde sehr unterschiedlich<br />
ausgeprägt. Es liegen sehr unterschiedliche Ausgangslagen vor, auch auf den<br />
Grad der Heterogenität einer IT-Umgebung bezogen. Die Anforderungen hängen sehr<br />
stark von den jeweiligen Aufgaben ab, Know-how, Anzahl des verfügbaren Personals<br />
differieren und die finanziellen Ressourcen sind sehr unterschiedlich ausgeprägt. Daher<br />
wird im <strong>Migrationsleitfaden</strong> auf die Betrachtung von Migrationen gesamter IT-Infrastrukturen<br />
verzichtet.<br />
Grundsätzliche Unterschiede gibt es bei den einzelnen Pfaden nicht zu beachten. Die<br />
Machbarkeit ist in der Regel gegeben, es sei denn, dass für den einen oder anderen<br />
Pfad ein geeignetes Migrationsziel (Produkt oder Technologie) fehlt. Dies kann folgende<br />
Ursachen haben:<br />
� Fehlen von Alternativen für eine fortführende oder ablösende Migration:<br />
In bestimmten Bereichen fehlen die notwendigen Alternativen, um ablösende<br />
Migrationspfade aufzeigen zu können. Entweder sind die am Markt verfügbaren<br />
Produkte und Lösungen (proprietär wie OSS) noch nicht ausgereift genug oder<br />
verfügen nicht über den nötigen Funktionsumfang. Weiterhin kann es sein, dass<br />
ein Produkt (proprietär wie OSS) nicht mehr weiterentwickelt wird, womit dann<br />
kein fortführender Pfad betrachtet werden kann.<br />
� Geringe Unterschiede zwischen aufeinanderfolgenden <strong>Version</strong>en:<br />
In einigen Fällen macht die explizite Beschreibung eines fortführenden Migrationspfades<br />
keinen Sinn, insbesondere wenn zwischen der aktuell eingesetzten<br />
und der Folgeversion nur geringfügige Unterschiede (zum Beispiel überwiegend<br />
in Form von Verbesserungen bestehender Funktionalität) bestehen oder wenn es<br />
sich um einen Bereich mit grundsätzlich stabilen Funktionsanforderungen handelt.<br />
Fehlenden Migrationszielen auf der einen Seite und einer in vielen Themenbereichen<br />
anzutreffende Produkt- und Technologievielfalt auf der anderen Seite ist es geschuldet,<br />
dass nicht alle möglichen Migrationspfade betrachtet werden können. Daher wurden im<br />
Rahmen der Erstellung des <strong>Migrationsleitfaden</strong>s Workshops mit Experten und Vertretern<br />
der Hersteller durchgeführt, in denen wichtige Migrationspfade identifiziert wurden, die in<br />
den nachfolgenden Betrachtungen berücksichtigt wurden.<br />
Neben den technischen Betrachtungen beschäftigt sich der <strong>Migrationsleitfaden</strong> im Modul<br />
Querschnittsthemen auch mit produktübergreifenden Technikthemen, zum Beispiel der<br />
Integration von Softwarekomponenten und der Verwendung von Standards sowie den<br />
rechtlichen und wirtschaftlichen Aspekten von Softwaremigrationen.<br />
Bezug zu anderen E-Gouvernement-Dokumenten<br />
Für die Behörden des Bundes ist das Bundesministerium des Innern der kompetente<br />
und zentrale Ansprechpartner in Sachen Informations- und Kommunikationstechnik. In<br />
dieser Rolle hat die "Koordinierungs- und Beratungsstelle der Bundesregierung für Informationstechnik<br />
in der Bundesverwaltung" (KBSt) als zuständige Stelle bis zum heutigen<br />
Tage eine Vielzahl von IT-bezogenen Dokumenten veröffentlicht, die zum Teil einer<br />
Seite 9
kontinuierlichen Fortschreibung und Aktualisierung unterzogen werden. Hierzu gehören<br />
insbesondere die folgenden Dokumente und Informationsbereiche 1 :<br />
� DOMEA- Konzept 2 in der <strong>Version</strong> 2.1<br />
� E-Gouvernement 2.0 – Das Programm des Bundes<br />
� EVB-IT 3 Vertragstypen<br />
� <strong>Migrationsleitfaden</strong> 2.1<br />
� Leitfaden plattformunabhängige Fachanwendungen 1.0<br />
� SAGA 4 4.0<br />
� IT-Architekturkonzept für die Bundesverwaltung 1.0<br />
� UfAB 5 IV <strong>Version</strong> 1.0<br />
� V-Modell XT 6 Release 1.2.1<br />
� WiBe 7 4.1<br />
� XML Infopoint<br />
Mit Ausnahme von DOMEA 2.1 hat der <strong>Migrationsleitfaden</strong> <strong>3.0</strong> zu allen anderen Dokumenten<br />
einen grundsätzlich mehr oder weniger intensiven Bezug. Geht es im Rahmen<br />
einer Migration um die Beschaffung neuer Software, die bestimmten Kriterien folgen<br />
muss, zum Beispiel um zukünftige Migrationen zu reduzieren und zu vereinfachen, dann<br />
zeigt sich der Bezug zu EVB-IT und UfAB. Geht es jedoch um die eigentliche<br />
Durchführung, dann ist der Bezug zu V-Modell XT und gegebenenfalls auch EVB-IT<br />
gegeben. Allen voran sind es jedoch SAGA <strong>3.0</strong>, das IT-Architekturkonzept für die<br />
Bundesverwaltung 1.0, der Leitfaden plattformunabhängige Fachanwendungen und die<br />
WiBe 4.1, zu denen ein direkter Bezug des <strong>Migrationsleitfaden</strong>s besteht. Wenn es darum<br />
geht, die Häufigkeit von Migrationen zu reduzieren, Migrationen zu vereinfachen oder die<br />
Kosten von Migrationen zu reduzieren, dann sollten diese Dokumente bei der<br />
Durchführung von Softwaremigrationen stets herangezogen werden.<br />
Die in diesen Dokumenten gelegten Grundlagen und Rahmenbedingungen nimmt der<br />
aktualisierte <strong>Migrationsleitfaden</strong> <strong>3.0</strong> in seine Betrachtung von Produkten, Technologien<br />
und Migrationspfaden ergänzend auf.<br />
1<br />
www.kbst.bund.de<br />
2<br />
DOMEA - Dokumenten-Management und elektronische Archivierung (in der öffentlichen<br />
Verwaltung)<br />
3<br />
EVB-IT - Ergänzenden Vertragsbedingungen für die Beschaffung von IT-Leistungen<br />
4<br />
SAGA - Standards und Architekturen für E-Government-Anwendungen<br />
5<br />
UfAB - Unterlage für die Ausschreibung und Bewertung von IT-Leistungen<br />
6<br />
V-Modell XT - Vorgehensmodell zum Planen und Durchführen von Projekten - XT steht für<br />
„extreme tailoring―<br />
7<br />
WiBe - Wirtschaftlichkeitsbetrachtungen<br />
Seite 10
Inhaltsverzeichnis<br />
Vorwort zur dritten <strong>Version</strong> des <strong>Migrationsleitfaden</strong>s ........................ 4<br />
Aufbau und Inhalt des <strong>Migrationsleitfaden</strong>s ........................................ 5<br />
Inhaltsverzeichnis ................................................................................. 11<br />
I. Modul Querschnittsthemen........................................................... 19<br />
A Thema: Strategische Aspekte von Softwaremigrationen ............................ 19<br />
1 Herstellerunabhängigkeit, Stärkung des Wettbewerbs, offene Standards ...............19<br />
2 Neue Migrationsalternativen ...................................................................................21<br />
3 Integration vorteilhaft herstellen und einsetzen .......................................................23<br />
3.1 Formen und Grade der Integration ...................................................................24<br />
3.2 Integration und Standardisierung ......................................................................26<br />
3.3 Standardisierung und Open Source Software ...................................................27<br />
3.4 Klassifikation der Integrationstiefe ....................................................................27<br />
3.5 Vor- und Nachteile integrierter und standardisierter Lösungen .........................30<br />
3.6 Kriterien zur Beurteilung integrierter Lösungen .................................................33<br />
3.7 Beispiele und Vergleich verbreiteter integrierter Infrastrukturlösungen .............33<br />
3.8 Fazit .................................................................................................................39<br />
B Thema: Rechtliche Aspekte von Softwaremigrationen................................ 41<br />
1 Einleitung ................................................................................................................41<br />
2 Methode..................................................................................................................42<br />
3 Notwendigkeit der Rechtsberatung im Einzelfall .....................................................42<br />
4 Vertragsrecht ..........................................................................................................43<br />
4.1 Einleitung .........................................................................................................43<br />
4.2 Vertragsverhältnisse bei OSS: Vertrag mit Zwischenhändler ............................45<br />
4.3 Vertragsverhältnisse bei OSS: Vertrag mit Rechtsinhabern ..............................47<br />
4.4 Vergleich der Migration zu proprietärer Software und zu OSS ..........................49<br />
5 Urheberrecht ...........................................................................................................51<br />
5.1 Einleitung .........................................................................................................51<br />
5.2 Zulässigkeit von OSS-Lizenzen nach deutschem Urheberrecht .......................51<br />
Seite 11
5.3 Umfang der Rechtseinräumung bei OSS-Lizenzen ..........................................52<br />
5.4 Entgegenstehende Urheberrechte Dritter .........................................................53<br />
5.5 Vergleich der Migration zu proprietärer Software und zu OSS ..........................55<br />
6 Patentrecht .............................................................................................................57<br />
6.1 Einleitung .........................................................................................................57<br />
6.2 Entgegenstehende Patentrechte Dritter bei Nutzung von OSS .........................58<br />
6.3 Vergleich der Migration zu proprietärer Software und zu OSS ..........................59<br />
7 Haftung und Gewährleistung...................................................................................59<br />
7.1 Einleitung .........................................................................................................59<br />
7.2 Einsatz von OSS: Vertragliche Haftung und Gewährleistung bei<br />
Überlassungsverträgen ....................................................................................60<br />
7.3 Einsatz von OSS: Vertragliche Haftung und Gewährleistung bei Open<br />
Source Lizenzverträgen ....................................................................................63<br />
7.4 Einsatz von OSS: Vertragliche Haftung und Gewährleistung bei Erstellung<br />
und Änderung von Freier Software ...................................................................64<br />
7.5 Einsatz von OSS: Außervertragliche Haftung ...................................................65<br />
7.6 Einsatz von OSS: Mitverschulden.....................................................................66<br />
7.7 Vergleich der Migration zu proprietärer Software und zu OSS ..........................66<br />
8 Vergaberecht ..........................................................................................................67<br />
8.1 Allgemeines ......................................................................................................67<br />
8.2 Beschaffung von OSS: Neutrale Ausschreibung ...............................................67<br />
8.3 Beschaffung von OSS: transparente Ausschreibung ........................................69<br />
8.4 Beschaffung von OSS: Vergabeentscheidung ..................................................70<br />
8.5 Vergleich der Migration zu proprietärer Software und zu OSS ..........................71<br />
9 Fazit ........................................................................................................................72<br />
C Thema: Wirtschaftliche Aspekte von Softwaremigrationen ........................ 73<br />
1 Vorwort ...................................................................................................................73<br />
2 Einleitung ................................................................................................................73<br />
3 Methodische Grundsätze ........................................................................................75<br />
3.1 Ziele und Rahmenbedingungen ........................................................................77<br />
3.2 Monetäre Analyse ............................................................................................78<br />
3.3 Grundsätzliche Überlegungen zur Kostenerhebung..........................................78<br />
3.4 Nutzwert-Analyse .............................................................................................83<br />
3.5 Vollkostenansatz ..............................................................................................84<br />
Seite 12
3.6 Vergleichbarkeit................................................................................................84<br />
3.7 Einsatzbereiche ................................................................................................85<br />
4 Analyse der Ausgangssituation ...............................................................................86<br />
4.1 Infrastruktur Server ...........................................................................................87<br />
4.2 Infrastruktur APC ..............................................................................................87<br />
4.3 Infrastruktur Netzwerk ......................................................................................88<br />
4.4 Infrastruktur Druck ............................................................................................89<br />
4.5 Serverdienste ...................................................................................................89<br />
4.6 Standardsoftware .............................................................................................91<br />
4.7 Dokumentvorlagen und Makros ........................................................................91<br />
4.8 IT-Fachverfahren ..............................................................................................93<br />
5 Wirtschaftlichkeit nach WiBe ...................................................................................97<br />
5.1 Vorbemerkung ..................................................................................................97<br />
5.2 Monetäre Wirtschaftlichkeit............................................................................. 103<br />
5.3 Erweiterte Wirtschaftlichkeit............................................................................ 121<br />
6 Fazit ...................................................................................................................... 135<br />
D Thema: Empfehlungen.................................................................................. 137<br />
1 Grundsätzliche Empfehlungen .............................................................................. 137<br />
2 Vorgehensempfehlungen für Migrationsprojekte ................................................... 139<br />
2.1 Vorgehensmodelle ......................................................................................... 142<br />
2.2 Mögliche Auswirkungen der Migrationspfade ................................................. 146<br />
2.3 Checkliste der Erfolgsfaktoren ........................................................................ 147<br />
II. Modul Infrastrukturen .................................................................. 151<br />
A Thema Datenbank-Systeme ......................................................................... 151<br />
1 Produkte / Technologien ....................................................................................... 152<br />
1.1 MySQL ........................................................................................................... 152<br />
1.2 PostgreSQL .................................................................................................... 155<br />
1.3 Firebird ........................................................................................................... 157<br />
1.4 MaxDB ........................................................................................................... 159<br />
1.5 Microsoft SQL Server 7.0/2000/2005 .............................................................. 161<br />
1.6 Oracle ............................................................................................................ 165<br />
1.7 IBM DB2 ......................................................................................................... 167<br />
Seite 13
2 Migrationspfade .................................................................................................... 169<br />
2.1 Die ablösende Migration proprietärer und offener Datenbank-Systeme .......... 172<br />
2.2 Fortführende Migration von Datenbank-Systemen .......................................... 175<br />
B Thema Webserver ......................................................................................... 176<br />
1 Produkte / Technologien ....................................................................................... 176<br />
1.1 Apache HTTP Server ..................................................................................... 176<br />
1.2 Microsoft Internet Information Services (IIS) ................................................... 180<br />
2 Migrationspfade .................................................................................................... 183<br />
2.1 Die ablösende Migration proprietärer und offener Webserver ......................... 184<br />
2.2 Fortführung der Produktlinie von Webservern................................................. 186<br />
3 Bezüge ................................................................................................................. 186<br />
3.1 Dateiablage .................................................................................................... 186<br />
3.2 Netzwerkdienste ............................................................................................. 187<br />
3.3 Authentifizierung ............................................................................................. 187<br />
3.4 Anwendungen ................................................................................................ 187<br />
C Thema Authentisierungs- und Verzeichnisdienste .................................... 189<br />
1 Produkte / Technologien ....................................................................................... 190<br />
1.1 Linux und Samba mit OpenLDAP und Kerberos (MIT/Heimdal) ..................... 190<br />
1.2 Fedora Directory Server (OSS-Lösung mit Multimasterfähigkeit) .................... 198<br />
1.3 Windows NT 4 Server als sogenannter Domänencontroller (DC) ................... 200<br />
1.4 Windows 2000/2003 Server mit Active Directory und Kerberos ...................... 205<br />
2 Migrationspfade .................................................................................................... 214<br />
2.1 Migration von Windows NT DC nach Linux mit OpenLDAP, Samba und<br />
Kerberos......................................................................................................... 215<br />
2.2 Migration von Windows 2000 mit Active Directory nach Linux OpenLDAP,<br />
Samba und Kerberos...................................................................................... 217<br />
2.3 Migration von Linux und OpenLDAP, Samba und Kerberos nach Windows<br />
2003 mit Active Directory ................................................................................ 220<br />
2.4 Migration von Windows NT als DC auf Windows 2003 mit Active Directory .... 221<br />
3 Bezüge ................................................................................................................. 223<br />
3.1 Grundlegende Überlegungen ......................................................................... 223<br />
3.2 Verzeichnisdienst ........................................................................................... 223<br />
D Thema Netzwerkdienste ............................................................................... 225<br />
1 Produkte / Technologien ....................................................................................... 225<br />
Seite 14
1.1 NetBIOS, WINS, DNS und DHCP unter Windows NT/2000/2003 ................... 225<br />
1.2 WINS, DNS und DHCP unter Linux mit Samba .............................................. 233<br />
2 Migrationspfade .................................................................................................... 236<br />
2.1 Migration Netzdienste Windows NT/2000 nach Windows 2003 ...................... 236<br />
2.2 Migration von Windows DNS (BIND 8) nach Linux BIND 9 ............................. 238<br />
2.3 Migration von Windows DHCP nach Linux DHCP .......................................... 239<br />
2.4 WINS/NetBIOS(Windows) nach Samba mit WINS/NMDB .............................. 240<br />
3 Bezüge ................................................................................................................. 240<br />
E Thema Dateiablage ....................................................................................... 241<br />
1 Produkte / Technologien ....................................................................................... 241<br />
1.1 Linux und Samba mit SMB/CIFS und POSIX ................................................. 241<br />
1.2 Linux-Server mit NFS ..................................................................................... 249<br />
1.3 Linux-Server mit OpenAFS ............................................................................. 250<br />
1.4 Windows NT 4.0/2000/2003 mit NTFS ........................................................... 251<br />
2 Migrationspfade .................................................................................................... 263<br />
2.1 Migration von Windows Server NT 4 mit NTFS 4 nach Linux mit Samba<br />
(SMB/CIFS) und POSIX ................................................................................. 265<br />
2.2 Von Windows Server 2000/2003 nach Linux Server (unter Beibehaltung von<br />
Active Directory) ............................................................................................. 266<br />
2.3 Von Linux NFS/OpenAFS nach Windows 2003 NTFS 5 ................................. 267<br />
2.4 Von Windows Server NT4 nach Windows Server2000/2003 .......................... 268<br />
3 Bezüge ................................................................................................................. 269<br />
3.1 Authentifizierungsdienst ................................................................................. 269<br />
F Thema Druckdienste ..................................................................................... 270<br />
1 Produkte / Technologien ....................................................................................... 270<br />
1.1 Allgemeine Betrachtungen ............................................................................. 270<br />
1.2 Common Unix Printing System (CUPS) .......................................................... 275<br />
1.3 Common Unix Printing System (CUPS) mit Samba ........................................ 282<br />
1.4 Windows Print Services .................................................................................. 284<br />
2 Migrationspfade .................................................................................................... 291<br />
2.1 Migration von Windows Print Services nach CUPS in Kombination mit<br />
Samba unter Linux ......................................................................................... 292<br />
2.2 Migration von CUPS in Kombination mit Samba unter Linux nach Windows<br />
Print Services ................................................................................................. 293<br />
Seite 15
2.3 Migration von Windows NT4/2000 Print Services nach Windows 2003 Print<br />
Services ......................................................................................................... 293<br />
3 Bezüge ................................................................................................................. 293<br />
3.1 Systemmanagement und -überwachung ........................................................ 293<br />
3.2 Authentifizierung und Verzeichnisdienste ....................................................... 294<br />
3.3 Netzwerkdienste ............................................................................................. 294<br />
G Thema System-Überwachungs- und -Management-Dienste ..................... 295<br />
1 Produkte / Technologien ....................................................................................... 295<br />
1.1 Systemmanagement mit OSS – Nagios, u.a., Linux ....................................... 297<br />
1.2 Microsoft Systems Management Server (SMS) 2.0/2003 und Microsoft<br />
Operations Manager (MOM) ........................................................................... 301<br />
1.3 HP OpenView ................................................................................................. 304<br />
1.4 IBM Tivoli System-Management ..................................................................... 306<br />
2 Migrationspfade .................................................................................................... 306<br />
2.1 Migration von Tivoli System-Management nach HP Open View ..................... 307<br />
2.2 Migration von proprietärer Systemüberwachungssoftware nach Nagios ......... 308<br />
2.3 Migration von SMS 2.0 nach SMS 2003 ......................................................... 308<br />
3 Bezüge ................................................................................................................. 309<br />
3.1 Netzwerkdienste ............................................................................................. 309<br />
3.2 Webserver ...................................................................................................... 309<br />
III. Modul Anwendungen ................................................................... 310<br />
A Thema Messaging und Groupware .............................................................. 310<br />
1 Produkte / Technologien ....................................................................................... 310<br />
1.1 OpenGroupware.org ....................................................................................... 310<br />
1.2 OpenXchange ................................................................................................ 314<br />
1.3 eGroupWare ................................................................................................... 319<br />
1.4 Zarafa ............................................................................................................. 322<br />
1.5 Kolab .............................................................................................................. 326<br />
1.6 Scalix ............................................................................................................. 331<br />
1.7 Microsoft Exchange Server 2007 .................................................................... 336<br />
1.8 Lotus Notes .................................................................................................... 340<br />
2 Migrationspfade .................................................................................................... 342<br />
2.1 Migration von MS Exchange 5.5/2003 nach Kolab 2....................................... 342<br />
Seite 16
2.2 Migration von Kolab 2 nach MS Exchange 2007 ............................................ 345<br />
2.3 Migration von MS Exchange 5.5 nach MS Exchange 2007 ............................ 346<br />
2.4 Migration von eGroupware nach Lotus Notes 8 .............................................. 348<br />
2.5 Scalix nach eGroupware ................................................................................ 351<br />
3 Bezüge ................................................................................................................. 353<br />
3.1 Webserver und Netzwerkdienste .................................................................... 353<br />
3.2 Authentisierungs- und Verzeichnisdienste ...................................................... 353<br />
3.3 Backend-Integration ....................................................................................... 353<br />
B Thema Teaming-/Workgroup Software........................................................ 354<br />
1 Produkte / Technologien ....................................................................................... 354<br />
1.1 Mindquarry ..................................................................................................... 356<br />
1.2 Microsoft SharePoint Server und –Services ................................................... 363<br />
1.3 O3Spaces Workplace 2 .................................................................................. 384<br />
1.4 Novell Teaming + Conferencing ..................................................................... 391<br />
1.5 Lotus Quickr 8.0 ............................................................................................. 406<br />
C Thema Office / Desktop ................................................................................ 423<br />
1 Produkte / Technologien ....................................................................................... 423<br />
1.1 OpenOffice.org 2 und 1 / StarOffice8 und 7 .................................................... 423<br />
1.2 Microsoft Office 2007/2003/2002/97 ............................................................... 435<br />
2 Migrationspfade .................................................................................................... 451<br />
2.1 Interoperabilität von Officeanwendungen........................................................ 452<br />
2.2 Vorbereitung der Migration ............................................................................. 456<br />
2.3 Migration von MS Office 97 - 2003 nach StarOffice 8/OOo 2 .......................... 459<br />
2.4 Migration von MS Office 97 - 2003 nach MS Office 2007 ............................... 464<br />
2.5 Migration von StarOffice 7/8 u. OOo1/2 nach MS Office 2007 ........................ 467<br />
2.6 Migration von StarOffice 7/OOo1 nach StarOffice 8/OOo2Star ....................... 469<br />
3 Bezüge ................................................................................................................. 472<br />
3.1 Teaming-/Workgroup Software ....................................................................... 472<br />
D Thema Backend-Integration ......................................................................... 473<br />
1 Produkte/Technologien ......................................................................................... 473<br />
1.1 Microsoft .NET-Plattform (COM, DCOM, OLE, ActiveX) ................................. 473<br />
1.2 SUN J2EE-Plattform ....................................................................................... 477<br />
1.3 Object Management Group CORBA ............................................................... 482<br />
Seite 17
2 Migrationspfade .................................................................................................... 483<br />
2.1 Migration einer Anwendung auf Basis .NET nach J2EE ................................. 483<br />
E Thema Terminal-Dienste und Client-Konzepte ........................................... 489<br />
1 Produkte / Technologien ....................................................................................... 493<br />
1.1 Linux Terminal Server Project ........................................................................ 493<br />
1.2 NoMachine NX Server .................................................................................... 494<br />
1.3 Microsoft Windows Terminal Server ............................................................... 496<br />
1.4 Citrix Presentationserver ................................................................................ 498<br />
2 Migrationspfade .................................................................................................... 500<br />
2.1 Migration von Microsoft Windows Terminal Server nach NoMachine NX<br />
Server ............................................................................................................ 503<br />
2.2 Migration von Microsoft Windows Terminal Server 2000 nach Microsoft<br />
Windows Terminal Server 2003 ...................................................................... 505<br />
2.3 Von Microsoft Windows Terminal Server nach Citrix Presentationserver ........ 507<br />
3 Bezüge ................................................................................................................. 509<br />
3.1 Authentifizierungs- und Verzeichnisdienste .................................................... 509<br />
3.2 Netzwerkdienste ............................................................................................. 509<br />
IV. Anhang ...................................................................................... 510<br />
A Abkürzungsverzeichnis ................................................................................ 510<br />
B Glossar ........................................................................................................... 523<br />
C Abbildungsverzeichnis ................................................................................. 530<br />
D Tabellenverzeichnis ...................................................................................... 533<br />
E Anhang –WiBe für Migrationen .................................................................... 536<br />
1 Kriterienkatalog WiBe für Migrationen ................................................................... 536<br />
2 Matrix zur Soft- und Hardware-Kostenermittlung ................................................... 540<br />
3 Rechtsgrundlagen ................................................................................................. 541<br />
Seite 18
I. Modul Querschnittsthemen<br />
A Thema: Strategische Aspekte von Softwaremigrationen<br />
1 Herstellerunabhängigkeit, Stärkung des Wettbewerbs, offene<br />
Standards<br />
Die Migration von Software wird von Organisationen nur durchgeführt, wenn dies durch<br />
äußere wie innere Zwänge nötig wird. Solche Zwänge sind zum Beispiel:<br />
� Äußere Zwänge:<br />
o Die Aufkündigung des Supports für ein bestimmtes Produkt oder eine<br />
Produktversion durch den Hersteller.<br />
o Die Einstellung der Entwicklung eines Open Source-Projektes beziehungsweise<br />
die Aufgabe der Unterstützung für eine bestimmte Softwareversion.<br />
o Die Kompatibilität mit dem neuesten Produkt in Partnerorganisationen<br />
zwingt zum Mitmachen.<br />
� Innere Zwänge:<br />
o Das Fehlen von bestimmten Funktionalitäten.<br />
o Die Notwendigkeit der mittel- bis langfristigen Einsparung von Kosten.<br />
o Die Konsolidierung der IT-Infrastruktur.<br />
Da Migrationen meist auch einen beträchtlichen Kostenaufwand mit sich bringen, vom<br />
Personalaufwand ganz abgesehen, ist wahrscheinlich jede Behörde daran interessiert,<br />
diesen Aufwand weitestgehend zu minimieren. Im Gegensatz zu den äußeren Zwängen<br />
lassen sich innere Zwänge überwiegend selbst steuern, sodass selbst bestimmt werden<br />
kann, ob und wann eine Migration durchgeführt werden soll. Hinsichtlich der äußeren<br />
Anlässe bestehen zunächst einmal weit weniger Möglichkeiten der Einflussnahme. Hier<br />
bestimmen in erster Linie die Software-Hersteller durch ihre Marktpolitik oder die OSS-<br />
Entwickler durch ihre Entscheidungen. Bezüglich der Marktpolitik der Software-Hersteller<br />
bedeutet dies, dass man sich von dieser Politik, die in der Regel alle paar Jahre eine<br />
neue <strong>Version</strong> einer Software auf den Markt bringt und kurz darauf den Support für die<br />
alte <strong>Version</strong> aufkündigt, nur dann nicht fremdbestimmen lassen muss, wenn man von<br />
dem Hersteller so weit wie möglich unabhängig ist. Open Source Projekte sind dagegen<br />
nicht davon geprägt in kurzen regelmäßigen Abständen grundlegend neue <strong>Version</strong>en<br />
einer Software zu veröffentlichen und gleichzeitig die Unterstützung alter <strong>Version</strong>en einzustellen.<br />
Daher ist die Aufgabe von OSS-Projekten ein eher selten anzutreffender äußerer<br />
Zwang für Migrationen. Darüber hinaus ist durch die Offenheit auch gleichzeitig ein<br />
großes Maß an Unabhängigkeit gegeben, denn es besteht jederzeit die Möglichkeit einen<br />
geeigneten Dienstleister mit entsprechenden Supportleistungen zu beauftragen.<br />
Damit wird deutlich, dass es sich hierbei nicht um ein Ad-hoc-Problem, sondern um ein<br />
langfristiges strategisches Problem handelt, welches angegangen werden muss. Das<br />
Seite 19
Ziel für die Behörden muss die Unabhängigkeit von Herstellern und die Stärkung des<br />
Wettbewerbs sein, um damit langfristig Auswahlmöglichkeiten und Wahlfreiheiten zu<br />
erhöhen und die Anzahl der Migrationen zu reduzieren sowie gleichzeitig Kosten und<br />
Aufwand zu einzusparen.<br />
Durch die Minimierung der Fremdbestimmung wird gegebenenfalls erreicht, dass die<br />
Anzahl und Häufigkeit der Migrationen abnimmt, dennoch wird es von außen bestimmte<br />
Migrationen sicherlich auch künftig geben. Damit stellt sich die zweite Frage: Wie lassen<br />
sich die Migrationskosten einzelner Migrationsprojekte reduzieren?<br />
Migrationen sind vor allem davon geprägt, vorhandene Informationen (Daten, Dokumente<br />
usw.) sowie automatisierte Prozesse und Strukturen in die neue Umgebung zu überführen,<br />
um sie dort mit den benötigten Funktionen weiterverarbeiten und -verwenden zu<br />
können. Darüber hinaus stellt sich immer wieder die Frage, insbesondere bei punktuellen<br />
Migrationen oder der Durchführung von stufenweisen Migrationen: Wie fügen sich<br />
die migrierten Systeme in die bestehende IT-Landschaft ein? Sind sie kompatibel und<br />
interoperabel mit den vorhandenen Systemen?<br />
Je einfacher die Übernahme von vorhandenen Informationen, Prozessen und Strukturen<br />
ist, desto geringer sind die Kosten für eine Migration. Je einfacher es ist, vorhandene<br />
Software durch andere zu ersetzen und in vorhandene Systemlandschaften zu integrieren,<br />
desto stärker ist der Wettbewerb zwischen den Anbietern am Markt. Dies beeinflusst<br />
wiederum die Preise für Software, deren Wartung und den Support positiv für die<br />
Nutzer und hilft damit die Kosten weiter zu reduzieren.<br />
Offenheit ist ein wesentlicher Faktor, um zum Beispiel mit minimalem Aufwand<br />
Informationen von A nach B zu überführen und Software in bestehende Systemlandschaften<br />
zu integrieren. Wenn bekannt ist, wie Informationen abgelegt werden, dann<br />
lassen sie sich auch ohne größere Probleme überführen. Wenn Schnittstellen und ihre<br />
Funktionen bekannt sind, dann lassen sich entsprechende Schnittstellen finden oder<br />
implementieren, um neue Software zu integrieren.<br />
Offenheit allein reicht aber nicht aus, denn nur mit Offenheit lässt sich noch keine Interoperabilität<br />
schaffen. Ein weiterer wesentlicher Faktor ist die Verwendung von Standards<br />
für Schnittstellen und für die Ablage von Informationen. Die Kombination von beiden<br />
Faktoren ist die beste Voraussetzung für die Schaffung von Interoperabilität und Kompatibilität<br />
zwischen allen Softwaresystemen einer IT-Landschaft. Darüber hinaus führt sie<br />
zur deutlichen Reduzierung von Kosten, der Stärkung des Wettbewerbs und damit zur<br />
Verbesserung der Herstellerunabhängigkeit.<br />
Der Begriff eines „offenen Standards― ist schillernd und wird teilweise zum inhaltsleeren<br />
Marketinglabel degradiert. Beispiele für konstruktive und aussagekräftige Definitionen<br />
finden sich im European Interoperability Framework (EIF) 8 , im Initiativpapier der Bundesregierung<br />
für den Einsatz offener Dokumentenformate 9 oder den Mindestanforderungen<br />
bezüglich der Offenheit von Standards, wie sie in SAGA 10 definiert sind. Diese Mindest-<br />
8 siehe http://ec.europa.eu/idabc/en/document/3761/5583<br />
9 siehe http://www.kbst.bund.de<br />
10 Siehe SAGA 4.0, Kapitel 2.2, Seite 20 unter www.kbst.bund.de<br />
Seite 20
anforderungen bezüglich der Offenheit von Standards sind in SAGA aus Sicht der Bundesverwaltung<br />
folgendermaßen definiert:<br />
� Der Standard wurde veröffentlicht und die Dokumentation der Standardspezifikation<br />
ist entweder kostenlos oder maximal gegen eine Schutzgebühr erhältlich.<br />
� Das geistige Eigentum (beispielsweise in Form von Patenten) am Standard oder<br />
an Teilen des Standards ist möglichst lizenzkostenfrei zugänglich.<br />
� Die Verwendung des Standards ist für die Bundesverwaltung und die Nutzer ihrer<br />
Dienstleistungen uneingeschränkt möglich.<br />
� Der Standard muss auch in Zukunft veröffentlicht und frei nutzbar bleiben.<br />
Übergreifend werden in fast allen Definitionen prinzipiell ähnliche Anforderungen an<br />
Standards gestellt, damit sie als offen eingestuft werden können.<br />
Unbestritten ist dabei, je weniger Einschränkungen für die Nutzung dieses Standards<br />
bestehen (z.B. durch Lizenzkosten), desto einfacher ist seine Nutzbarkeit und desto größer<br />
ist seine Verbreitung. Erst hieraus kann ein funktionierender Wettbewerb bei gleichzeitig<br />
größtmöglicher Interoperabilität verschiedener, auf diesem Standard basierender<br />
Lösungen entstehen.<br />
Der Einsatz wirklich offener Standards muss ebenso wie die Herstellerunabhängigkeit<br />
und die Stärkung des Wettbewerbs ein strategisches Ziel der Behörden sein. Das bedeutet:<br />
Um langfristig eine Verbesserung der heutigen Situation hinsichtlich der Häufigkeit<br />
von Migrationen und der damit verbundenen hohen Kosten herbeizuführen, sollten<br />
die Behörden die vorgenannten Ziele in ihre IT-Strategie aufnehmen und auch durchsetzen,<br />
insbesondere ist es wichtig die wirklich offenen Standards zu verwenden, da diese<br />
eine gewichtige Grundlage für die Umsetzung der anderen Ziele sind.<br />
2 Neue Migrationsalternativen<br />
Lag die Notwendigkeit einer Migration vor, wurde bisher die Frage gestellt, wie ein<br />
vorhandenes Softwareprodukt durch ein anderes, aber ähnliches Softwareprodukt<br />
ersetzt werden kann. Wie kann man zum Beispiel den einen Fileserver durch einen<br />
anderen Fileserver oder eine vorhandene Textverarbeitung durch eine andere<br />
Textverarbeitung ersetzen � günstigerweise durch eine Alternative mit offenen, standardisierten<br />
Schnittstellen und Datenformaten? Diese Sichtweise hat auch der<br />
<strong>Migrationsleitfaden</strong> aufgegriffen und die Migrationsalternativen diesbezüglich betrachtet.<br />
Migrationen von Softwarelösungen innerhalb derselben Lösungsgattung sind der Standardfall<br />
der Migration. Der <strong>Migrationsleitfaden</strong> hilft bei der Entscheidung darüber, wohin<br />
solche Migrationen führen und wie sie gestaltet werden sollen. Damit wird jedoch nicht<br />
gesagt, dass die Entscheidung für eine Migration innerhalb einer Lösungsgattung immer<br />
unausweichlich ist.<br />
Derzeit finden zwei Entwicklungen statt, die sich zwar außerhalb des Themas des<br />
<strong>Migrationsleitfaden</strong>s befinden, aber immer größeren Einfluss auf Migrationsentscheidungen<br />
gewinnen werden und damit auch auf die Anwendung des <strong>Migrationsleitfaden</strong>s.<br />
Seite 21
Zum einen entstehen neue Technologien, neue Verwendungsweisen von Technologien<br />
und neue Nutzungsmuster, die in innovative Lösungen münden. 11 Die meisten dieser<br />
Nutzungsmuster sind kollaborativ und erobern sich ― beispielsweise in Gestalt von<br />
Wikis ― ihren Platz im Werkzeug-Repertoire auch großer und traditionsreicher Organisationen.<br />
Die andere Entwicklung ist der grundlegende Wandel im Selbstverständnis der öffentlichen<br />
Verwaltung, der durch den Begriff E-Gouvernement beschrieben wird, und der unter<br />
anderem darauf abzielt, Prozesseffizienz und Kundenorientierung maßgeblich durch<br />
Prozessautomatisierung zu steigern.<br />
Aus beiden Entwicklungen zusammen ergibt sich die neue Leitfrage, die Migrationsentscheidungen<br />
künftig immer stärker prägen wird: Ist eine Migration innerhalb der<br />
Lösungsgattung überhaupt der richtige Schritt? Sind die fraglichen Lösungen und ihre<br />
Anwendung gemessen am Markt der Lösungen und an den Zielen des IT-Einsatzes<br />
überhaupt noch auf der Höhe der Zeit?<br />
Zur Illustration dieser Überlegung können Textverarbeitungs-Anwendungen dienen. Sie<br />
wurden in einer Behörde beispielsweise in den späten 80er Jahren eingeführt und seither<br />
von Produkt-Generation zu Produkt-Generation migriert, verbunden mit einem stetigen<br />
Anwachsen des Leistungsvermögens. Damit einher ging die Entwicklung der (proprietären)<br />
Dateiformate, und aus deren Verbreitung ergab sich ursächlich die Notwendigkeit<br />
zur Migration.<br />
Ein tieferer Blick auf den tatsächlichen Gebrauch dieser Anwendungen dürfte in vielen<br />
Fällen zwei Einsichten gewähren:<br />
Erstens sind die Leistungsmerkmale der Anwendungen, die heute tatsächlich regelmäßig<br />
genutzt werden, immer noch dieselben wie in den 80er Jahren, und dort, wo weitere<br />
eingesetzt werden, stiften sie wenig Nutzen, aber viele Interoperabilitäts- und Migrationsprobleme.<br />
Zweitens orientieren sich die Prozesse, die mithilfe dieser Anwendungen ausgeführt<br />
werden, immer noch an ihren papierbasierten Vorbildern. Das ist nicht verwunderlich,<br />
gerade im Fall von Textverarbeitungen. Historisch verstehen sie sich schließlich als<br />
elektronifizierte Schreibmaschine und ihr unreflektierter Gebrauch führt zu (streckenweise)<br />
elektronifizierten Papierprozessen. Das Optimierungs- und<br />
Automatisierungspotenzial der Prozesse bleibt auf diese Weise unerschlossen.<br />
Die Frage nach der Optimierbarkeit des Portfolios von IT-Lösungen und ihres Einsatzes<br />
wird sich künftig immer intensiver stellen, ausgelöst vielleicht durch Migrationszwänge.<br />
Beantwortet werden muss sie jedoch im Vorfeld der Migrationsentscheidung. Eine<br />
solche Optimierungsentscheidung könnte sein, nicht mehr (oder nicht nur) einen<br />
existierenden Dateidienst aufzurüsten, da dieser ohnehin nur dazu verwendet wird, elektronifizierte<br />
Papierprozesse zu unterstützen. Stattdessen (oder ergänzend) sollen Kollaborationslösungen,<br />
Dokumentenmanagement- oder sogar Workflow-Systeme eingeführt<br />
werden.<br />
11 Viele dieser Entwicklungen werden häufig unter dem Stichwort „Web 2.0" zusammenge-<br />
fasst.<br />
Seite 22
Die Einführung von Workflow-Systemen könnte zur Folge haben, dass anstelle von<br />
Textverarbeitungen ― den elektronifizierten Schreibmaschinen ― Maskenwerkzeuge<br />
eingesetzt werden. Daten würden dann in klar geordneten Strukturen („Datensätze―)<br />
gespeichert und nicht in den Formatierungsinformationen eines Dokumentes vergraben<br />
werden. Der kontinuierliche Leistungszuwachs beispielsweise der<br />
Formatierungsmöglichkeiten von Textverarbeitungen würde dadurch unerheblich für das<br />
Funktionieren des Geschäftsprozesses, und ein wiederkehrender Migrationsgrund würde<br />
aus der Perspektive des Prozesses ganz einfach entfallen.<br />
Das Thema Textverarbeitung ist in diesem Kontext sicherlich nur eine Facette, die zu<br />
betrachten wäre. Sie zeigt aber deutlich, dass zur Vermeidung von Migrationszwängen<br />
nicht nur die Verwendung offener und standardisierter Schnittstellen und Datenformate<br />
beitragen kann, sondern auch ein kritischer Blick auf die Entwicklung im IT-Lösungsmarkt<br />
und die eigenen Geschäftsprozesse. Wie schon die Durchsetzung offener<br />
Standards ist auch diese Betrachtung eine strategische Aufgabe. Gelingt ihre Bewältigung,<br />
dann werden Migrationen künftig weniger häufig und weniger umfangreich.<br />
Betrachtet man die zuvor beschriebenen Ideen im Zusammenhang mit den Entwicklungen<br />
am IT-Lösungsmarkt für Kollaborationslösungen, dann wird sogar deutlich, dass es<br />
sich hierbei keinesfalls um Utopien handelt, sondern dass auch die Hersteller diese Möglichkeiten<br />
entdeckt haben und ansatzweise schon versuchen, diese in ihre Lösungen<br />
aufzunehmen. Der Begriff Dokument bekommt hier eine zum Teil neue Bedeutung, da er<br />
nicht mehr immer gleich mit Datei zu setzen ist, wie bei den klassischen Office-Suiten.<br />
Gerade für die Zusammenarbeit mit externen Partnern (andere Behörden, Unternehmen)<br />
zeigen sich hierfür neue Modelle, für die es sich lohnt, sie näher zu betrachten, wenn<br />
man darüber nachdenkt, für die externe wie interne Zusammenarbeit gemeinsame und<br />
einheitliche Prozesse zu schaffen, wie sie zum Beispiel die E-Gouvernmentstrategie des<br />
Bundes vorsieht.<br />
Der <strong>Migrationsleitfaden</strong> wird in der Zukunft diese Entwicklungen genau betrachten und<br />
die sich daraus ergebenden alternativen Migrationsziele aufzeigen.<br />
3 Integration vorteilhaft herstellen und einsetzen<br />
Eine der zentralen Aufgaben beim Betrieb von Informationstechnologie besteht darin, die<br />
verschiedenen, aus Soft- oder Hardware bestehenden Komponenten einer Umgebung<br />
miteinander zu integrieren.<br />
Betriebs- oder Virtualisierungssysteme müssen mit Hardwarekomponenten integriert<br />
werden, wozu in der Regel Treiber installiert oder konfiguriert werden müssen. Anwendungen<br />
müssen gemeinsam mit anderen Anwendungen in Betriebssystemumgebungen<br />
integriert werden, darüber hinaus müssen sie sich in der Regel in Softwareverteilungs-<br />
oder Systemmanagementlösungen einfügen. Server- und Clientanwendungen müssen<br />
Benutzer authentifizieren und autorisieren, wozu sie mit Identity-Management-Systemen<br />
integriert werden müssen. Spätestens nach der Autorisierung greifen die meisten Anwendungen<br />
auf Daten zu, wozu sie mit Datenbanksystemen, Servern (welche Datenablagen<br />
oder andere Anwendungen bereitstellen) integriert werden müssen. Diese Liste<br />
ließe sich nach Belieben fortsetzen.<br />
Seite 23
Ab einer gewissen Größe einer IT-Infrastruktur ist dieser Integrationsprozess ein kontinuierlicher<br />
Vorgang, da Hard- oder Softwarekomponenten ständig erneuert, erweitert,<br />
konsolidiert oder an neue Rahmenbedingungen oder Anforderungen angepasst werden<br />
müssen.<br />
Die ständige Integration von IT-Komponenten ist in der Regel ein aufwendiger und natürlich<br />
immer wieder mit Risiken verbundener Prozess. Aus diesem Grund bietet es sich auf<br />
den ersten Blick an, vermehrt solche Komponenten einzusetzen, die mit anderen Komponenten<br />
bereits integriert oder einfach integrierbar sind, um dadurch Kosten zu sparen,<br />
Risiken zu minimieren oder sogar Mehrwerte hinsichtlich der Funktionalität und Leistungsfähigkeit<br />
der Gesamtsysteme zu erreichen.<br />
Am Markt besteht dazu gelegentlich die Auffassung, die verschiedenen Softwareprodukte<br />
und Komponenten von proprietärer Software würden untereinander einen höheren<br />
Grad an Integration aufweisen, während die im Umfeld der verfügbaren Open Source<br />
Produkte und Komponenten tendenziell aufwendiger und oft noch manuell miteinander<br />
integriert werden müssten. Dieser so angenommene, höhere Integrationsgrad im Bereich<br />
der proprietären Software würde dann letztlich zu einer höheren Wirtschaftlichkeit<br />
bei ihrer Verwendung führen.<br />
Dieses Kapitel beschäftigt sich damit, ob und unter welchen Bedingungen integrierte<br />
Lösungen vorteilhaft sind beziehungsweise sein können. Nach einer allgemeinen Betrachtung<br />
dieser Thematik erfolgt am Ende ein beispielhafter Vergleich von drei unterschiedlichen<br />
Lösungen.<br />
3.1 Formen und Grade der Integration<br />
Unter Integration werden im Zusammenhang mit IT-Infrastruktur eine Reihe unterschiedlicher<br />
Dinge verstanden, sodass hier zunächst der Versuche der Kategorisierung unternommen<br />
werden soll.<br />
Konfigurationsintegration<br />
Eine einfache Form von Integration besteht in der Bildung kombinierter Softwarepakete,<br />
bei denen die enthaltenen Komponenten gemeinsam installiert und während der Installation<br />
automatisch für das optimale Funktionieren miteinander konfiguriert werden. Solche<br />
kombinierten Pakete findet man zum Beispiel oft im Bereich der Softwareappliances.<br />
Der Anwender erhält damit ein „out-of-the-box― funktionierendes System mit einem definierten<br />
Satz an Eigenschaften, ohne dass er die Details von Konfiguration und Implementierung<br />
der einzelnen Komponenten kennen muss. Im Fall einer ausschließlich im<br />
Bereich der Konfiguration realisierten Integration unterscheiden sich die enthaltenen<br />
Komponenten dabei nicht von denen, die auch separat erhältlich, installierbar und manuell<br />
für das korrekte Miteinander konfiguriert werden können. Diese Form der Integration<br />
erspart im Wesentlichen Aufwände bei Konfiguration und Implementierung, ohne die<br />
Flexibilität der einzelnen Komponenten oder des Gesamtsystems einzuschränken.<br />
Administrationsintegration<br />
Systeme, die aus miteinander integrierten Softwarekomponenten bestehen, müssen in<br />
der Regel mithilfe einer Reihe von Parametern konfiguriert werden können. Das Ändern<br />
eines bestimmten Parameters betrifft dabei oft mehrere der integrierten Komponenten.<br />
Seite 24
Die Integration von Programmen, Diensten oder Softwarekomponenten über Mechanismen,<br />
die sicherstellen, dass die administrative Beeinflussung von Konfigurationsparametern<br />
die Integrität des Gesamtsystems nicht stört und alle relevanten Komponenten<br />
entsprechende rekonfiguriert werden, wird hier als „Administrationsintegration― bezeichnet.<br />
Funktionsintegration<br />
Eine weitere Form der Integration besteht in der Verwendung von Funktionen eines<br />
Programms oder einer Softwarekomponente durch ein anderes Programm beziehungsweise<br />
eine andere Softwarekomponente. Ein bekanntes Beispiel dafür sind die aus<br />
dem Bereich von Office-Paketen bekannten OLE-Verknüpfungen, mit denen Funktionen<br />
zum Rechnen mit Tabellen beispielsweise von einem Tabellenkalkulationsprogramm<br />
bereitgestellt und die innerhalb eines Textverarbeitungsprogramms dargestellt werden<br />
können. Zur Funktionsintegration gehört aber auch die Bereitstellung bestimmter, von<br />
vielen verschiedenen Programmen benötigter Funktionen, zum Beispiel zum Zugriff auf<br />
das Internet oder zur Durchführung mathematischer Operationen. Die Integration auf<br />
dieser Ebene ist deswegen oft durch das Vorhandensein von Programmbibliotheken<br />
gekennzeichnet, die von vielen unterschiedlichen Anwendungen genutzt werden.<br />
Datenintegration<br />
Die letzte hier genannte Form der Integration ist die Datenintegration. Dabei greifen<br />
mehrere Anwendungen oder Dienste auf die (physikalisch) selben Daten zu, wodurch<br />
Redundanzen vermieden werden sollen. Voraussetzung für die Datenintegration ist die<br />
gemeinsame Verwendung eines einheitlichen Datenmodells durch alle beteiligten Komponenten<br />
sowie die Benutzung definierter Mechanismen zum Zugriff auf die Daten, um<br />
Inkonsistenzen etwa durch zeitgleichen Zugriff von zwei Anwendungen zu vermeiden.<br />
Diese Mechanismen werden in der Regel durch Funktionsintegration einheitlich zur Verfügung<br />
gestellt.<br />
Beispiele für Datenintegration im Bereich der IT-Infrastruktur sind zum Beispiel Identity-<br />
und Infrastrukturmanagementsysteme, die an zentraler Stelle Informationen beispielsweise<br />
über Benutzer, deren Rechte und Rollen oder Systeme und deren Konfiguration<br />
bereithalten. Betriebssysteme und Anwendungen greifen auf diese Daten über definierte<br />
Schnittstellen und Protokolle zu, um beispielsweise die Rechte eines Benutzers mit bestimmten<br />
Anwendungen und Daten festzustellen.<br />
In der Praxis findet man meistens Komponenten, die mithilfe unterschiedlicher Integrationsmethoden<br />
miteinander integriert sind. Am Beispiel der Integration des Mail- und Kalenderdienstes<br />
Microsoft Exchange mit Active Directory lässt sich dies gut zeigen:<br />
� Hier wird Datenintegration verwendet, sodass Windows-Anmeldedienst und der<br />
Mailserver zum Beispiel dieselben Benutzerdaten und Credentials verwenden.<br />
� Funktionsintegration stellt über das Verwenden derselben Programmbibliotheken<br />
durch alle miteinander integrierten Komponenten sicher, dass auf die entsprechenden<br />
Daten immer über dieselben Mechanismen und Protokolle zugegriffen<br />
wird und es so zu keinen Inkonsistenzen kommt.<br />
� Mit Methoden der Administrationsintegration werden die einzelnen Dienste aus<br />
Sicht von Administratoren miteinander verknüpft, Administratoren können in der<br />
Seite 25
Folge beim Anlegen eines neuen (Windows-) Benutzers auch gleich dessen<br />
Mailkontoeinstellungen festlegen, ohne dazu eine andere Applikation bemühen<br />
zu müssen.<br />
� Schließlich verwenden die einzelnen Komponenten die gleichen Installations-<br />
und Konfigurationsmethoden (wie zum Beispiel die Windows Registry und darauf<br />
aufbauende Werkzeuge), sodass während der Installation eine aufeinander abgestimmte<br />
Konfiguration sichergestellt werden kann.<br />
3.2 Integration und Standardisierung<br />
Jede Form der Integration erfordert Schnittstellen, welche die Kommunikation der<br />
beteiligten Komponenten miteinander ermöglichen. Bei der Konfigurationsintegration<br />
werden Programme zur optimalen Funktionsweise miteinander eingerichtet, wobei das<br />
gemeinsame Funktionieren ohne Schnittstellen zur Kommunikation der Anwendungen<br />
miteinander nicht möglich wäre. Bei der Administrationsintegration sorgen Systeme, die<br />
der Konfiguration der einzelnen Komponenten übergeordnet sind oder gemeinsam<br />
genutzte Schnittstellen für die Abstimmung der Konfigurationen mit festgelegten<br />
Parametern sowie für die Sicherstellung der Integrität des Gesamtsystems. Schließlich<br />
werden bei Funktions- und Datenintegration Schnittstellen und Protokolle benötigt, um<br />
auf Daten oder Funktionen zuzugreifen.<br />
Schnittstellen und Kommunikation bilden die Grundlage jeder Integration, allerdings beinhaltet<br />
der Begriff der Integration keine Aussage darüber, in wie weit die Komponenten<br />
einer integrierten Umgebung standardisierte Schnittstellen und standardisierte Protokolle<br />
zur Kommunikation miteinander benutzen.<br />
Als standardisiert kann man Schnittstellen oder Protokolle u.a. dann bezeichnen, wenn<br />
sie in einer öffentlich zugänglichen Dokumentation beschrieben sind und diese Beschreibung<br />
auf einem Konsens der daran interessierten Parteien beruht. Ein wesentlicher<br />
Nutzen standardisierter Protokolle und Schnittstellen besteht darin, dass sie von<br />
unterschiedlichen Herstellern verschiedener Komponenten genutzt werden können, ohne<br />
dass sich dabei ein Hersteller von einem anderen, der die entsprechenden Protokolle<br />
oder Schnittstellen in seinen Komponenten verwendet, in einem für ihn gefährlichen Maß<br />
abhängig machen würde.<br />
Bei der Verwendung proprietärer, nicht offen gelegter Schnittstellen besteht auch für<br />
Anwender stets die Gefahr, dass diese von Anwendungen Dritter nicht genutzt werden<br />
können oder sich im Rahmen von Updates oder neuen <strong>Version</strong>en bestimmter Komponenten<br />
ändern. Durch die Verwendung standardisierter Protokolle und Schnittstellen bei<br />
der Integration von Softwarekomponenten kann dieses Risiko erheblich minimiert werden<br />
und es entsteht für die Betreiber von IT-Infrastruktur eine höhere Sicherheit.<br />
Standardisierung ist weitgehend unabhängig von Integration. Integrierte Lösungen können<br />
ausschließlich standardisierte Protokolle und Schnittstellen, aber genauso gut auch<br />
proprietäre und undokumentierte Kommunikationswege verwenden. Miteinander wenig<br />
oder nicht integrierte Anwendungen sind für die Kommunikation miteinander oder den<br />
Datenaustausch untereinander in der Regel auf eine herstellerübergreifende Definition<br />
der verwendeten Schnittstellen und Protokolle angewiesen, da diese sonst kaum unab-<br />
Seite 26
hängig voneinander und über mehrere <strong>Version</strong>en der entsprechenden Programme hinweg<br />
gepflegt werden könnten.<br />
3.3 Standardisierung und Open Source Software<br />
Standardisierungsprozesse weisen verschiedene Parallelen zu häufig verwendeten Entwicklungsmodellen<br />
von Open Source Software auf. Insbesondere alle Open Source Projekte,<br />
die es auf die Mitwirkung einer Community abgesehen haben, veröffentlichen den<br />
Programmcode schnell, regelmäßig und versuchen, Entscheidungs- und Diskussionsprozesse<br />
in einer Öffentlichkeit „derer, die daran Interesse haben― zu halten. Dies ist<br />
vergleichbar mit Standardisierungsverfahren, bei denen der Standard selbst beziehungsweise<br />
die während seiner Entwicklung diskutierten Entwürfe einer (Fach-) Öffentlichkeit<br />
verfügbar gemacht und von dieser diskutiert werden.<br />
Hierin besteht allerdings kein Automatismus. Open Source Lizenzierung bedeutet nicht<br />
zwangsläufig, dass der Quellcode einer Anwendung einer breiten Öffentlichkeit verfügbar<br />
gemacht oder dass über seine Weiterentwicklung in einer Öffentlichkeit diskutiert<br />
werden muss.<br />
Der Anwender einer unter Open Source Lizenz stehenden Software erhält damit allerdings<br />
immer das Recht, den zugehörigen Quellcode zu lesen, wodurch er zumindest<br />
eine Form einer lückenlosen Beschreibung der von dieser Software verwendeten Protokolle<br />
und Schnittstellen erhält. Gegenüber proprietärer Software ist er damit besser gestellt,<br />
weil ihn der Quellcode in die Lage versetzt, die entsprechenden Schnittstellen zu<br />
verwenden und er seine Open Source Applikation sogar verändern kann, beispielsweise<br />
um die Interoperabilität mit anderen Anwendungen sicher zu stellen.<br />
Mit Open Source Software ist im Hinblick auf verwendete Protokolle und Schnittstellen<br />
ein Aspekt von Standardisierung immer sichergestellt, nämlich die Verfügbarkeit einer<br />
Beschreibung für den Lizenznehmer. Viele Open Source Projekte bemühen sich darüber<br />
hinaus um die auch im Rahmen von Standardisierung wichtige öffentliche Diskussion<br />
und Entwicklung. Trotzdem müssen Open Source und Standardisierung voneinander<br />
abgegrenzt bleiben, insbesondere weil Standards auch von proprietärer Software implementiert<br />
werden können und Open Source Lizenzen nicht gleichbedeutend mit allgemeiner<br />
Veröffentlichung des Quellcodes und öffentlichem Entwicklungs- und Entscheidungsmodell<br />
sind.<br />
3.4 Klassifikation der Integrationstiefe<br />
Um den Integrationsgrad von Softwarekomponenten und die damit verbundenen Vor-<br />
und Nachteile zu beurteilen, soll die mögliche Tiefe der Integration von Komponenten<br />
hier in vier Stufen (keine, leichte, mittlere und hohe) eingeteilt werden.<br />
Mit der Integrationstiefe steigt in der Regel die Herstellerabhängigkeit, sodass darauf bei<br />
der Beschreibung der vier Stufen eingegangen wird.<br />
3.4.1 Keine Integration<br />
Keine Integration liegt dann vor, wenn die betroffenen Programme oder Komponenten<br />
unabhängig voneinander installiert und (sinnvoll) unabhängig voneinander betrieben<br />
werden können. Dabei benutzen sie keine funktionalen Bestandteile der übrigen Kom-<br />
Seite 27
ponenten und greifen nicht auf die Daten der anderen zu. Die Kommunikation der betroffenen<br />
Bestandteile untereinander erfolgt über öffentlich dokumentierte Schnittstellen, die<br />
im Idealfall standardisiert sind. In der Regel müssen die Komponenten manuell konfiguriert<br />
und aufeinander abgestimmt werden.<br />
Die Herstellerabhängigkeit ist bei der Verwendung eines Systems nicht miteinander integrierter<br />
Komponenten naturgemäß sehr gering. Gleichzeitig müssen in der Regel vergleichsweise<br />
hohe Aufwände in die manuelle Integration beziehungsweise die parallele<br />
Pflege und Administration nicht miteinander integrierter Komponenten gesteckt werden.<br />
3.4.2 Leichte Integration<br />
Bei einer leichten Integration sind die betroffenen Programme ebenfalls unabhängig voneinander<br />
installier- und betreibbar. Sie sind jedoch auf eine oder mehrere der folgenden<br />
Arten miteinander integriert:<br />
� Konfigurationsintegration:<br />
Die Komponenten können automatisiert gemeinsam installiert werden und sind<br />
dann bereits automatisch gut aufeinander abgestimmt, dabei werden jedoch nur<br />
die öffentlich dokumentierten und von jedermann benutzbaren Konfigurationsschnittellen<br />
und -parameter der einzelnen Komponenten genutzt.<br />
� Administrationskonfiguration:<br />
Die Komponenten können über ein gemeinsames oder übergeordnetes System<br />
verwaltet werden, wobei jede Komponente weiterhin auch unabhängig von den<br />
übrigen administrierbar bleibt.<br />
� Funktionsintegration:<br />
Die Komponenten können Funktionen anderer Komponenten benutzen, wenn<br />
diese in der Umgebung vorhanden sind. Sie bleiben ohne die anderen Komponenten<br />
jedoch voll funktionsfähig und sind nicht zwingend darauf angewiesen.<br />
� Datenintegration:<br />
Die Komponenten können bestimmte, von anderen Anwendungen verwaltete Daten<br />
nutzen und greifen über dokumentierte Schnittstellen und Protokolle darauf<br />
zu oder stellen selbst anderen Anwendungen Daten über eigene Schnittstellen<br />
und Protokolle zur Verfügung. Sie sind auf das Vorhandensein der anderen Programme<br />
jedoch nicht angewiesen und können alle wesentlichen Daten auch selbst<br />
verwalten.<br />
Hinsichtlich der Herstellerabhängigkeit stellt die leichte Integration den Anwender nicht<br />
schlechter als die Verwendung nicht miteinander integrierter Komponenten. Er erwirbt<br />
durch die leichte Integration zwar die mit der Integration verbundenen Vorteile (s.u.)<br />
kann aber jederzeit auch andere, nicht integrierte Komponenten verwenden, wobei er<br />
dann die für nicht integrierte Komponenten typischen Aufwände zu tragen hat.<br />
3.4.3 Mittlere Integration<br />
Von einer mittleren Integration spricht man, wenn bestimmte Komponenten des Gesamtsystems<br />
mit anderen so eng verbunden sind, dass wesentliche Funktionen gar nicht<br />
oder nur mit erheblichem Aufwand bereitgestellt werden können, wenn die entsprechenden<br />
Komponenten fehlen oder durch andere mit vergleichbarer Funktion aber fehlender<br />
Seite 28
Integration mit dem Gesamtsystem ersetzt werden sollen. Im Bezug auf die genannten<br />
vier Integrationsarten bedeutet das:<br />
� Konfigurationsintegration:<br />
Die Konfiguration der Komponenten setzt das Vorhandensein der anderen Komponenten<br />
voraus und muss angepasst werden, falls bestimmte Komponenten<br />
nicht vorhanden oder durch andere ersetzt werden sollen.<br />
� Administrationsintegration:<br />
Für eine einfache Administration setzen die Komponenten das Vorhandensein<br />
bestimmter Administrationssysteme voraus. Wenn diese fehlen oder andere Systeme<br />
genutzt werden sollen, müssen die entsprechenden Komponenten aufwendig<br />
manuell administriert oder an die Alternativsysteme angepasst werden.<br />
� Funktionsintegration:<br />
Die Komponenten verwenden auch in wesentlichen Bereichen Funktionen und<br />
Bestandteile der übrigen Komponenten. Der Betrieb der Einzelbestandteile und<br />
die Verwendung alternativer Komponenten, welche ähnliche Funktionen zur Verfügung<br />
stellen, ist technisch zwar möglich, jedoch mit hohem Aufwand verbunden.<br />
� Datenintegration:<br />
Wo immer sinnvoll, greifen die Komponenten auf Daten zu, die von anderen<br />
Komponenten verwaltet werden. Auch hier gilt, dass der alleinstehende Betrieb<br />
der Komponenten, beziehungsweise die Bereitstellung der benötigten Daten über<br />
andere Komponenten zwar möglich, aber deutlich aufwendiger als der Betrieb<br />
der integrierten Variante ist.<br />
Aus dieser Integrationstiefe entsteht eine gewisse Herstellerabhängigkeit, weil es für den<br />
Anwender vergleichsweise aufwendig ist, Komponenten der integrierten Lösung durch<br />
andere zu ersetzen.<br />
3.4.4 Hohe Integration<br />
Bei einer hohen Integration fällt es oft schwer, die einzelnen Komponenten überhaupt<br />
noch als auch separat voneinander oder mit anderen, alternativen Bestandteilen nutzbare<br />
Programme oder Systeme zu erkennen. Die Komponenten werden in der Regel gemeinsam<br />
installiert und administriert, das Herauslösen einer Komponente birgt stets die<br />
Gefahr, dass sie ohne die übrigen nicht mehr vernünftig oder gar nicht mehr betreib-<br />
oder administrierbar ist. Dasselbe gilt für Funktionen und Daten: Alle Komponenten nutzen<br />
von anderen Bestandteilen bereitgestellte Funktionen oder von diesen verwaltete<br />
Daten, wobei es auch hier nur mit hohem Aufwand oder gar nicht möglich ist, die entsprechenden<br />
Programme allein oder mit Komponenten anderer Hersteller einzusetzen,<br />
auch wenn die Kommunikation zwischen den Komponenten über Standard-Protokolle<br />
und –Schnittstellen erfolgt.<br />
Durch ein so hohes Maß an Integration entsteht auch ein sehr hohes Maß an Herstellerabhängigkeit.<br />
Die einzelnen Komponenten der integrierten Lösung können in der Regel<br />
nicht mehr unabhängig von anderen betrieben werden, gleichzeitig ist nicht oder nur mit<br />
sehr hohem Aufwand möglich, an einer Stelle alternative Komponenten zu verwenden.<br />
Seite 29
Der Anwender wird deswegen in der Regel alle benötigten Komponenten vom selben<br />
Hersteller einsetzen wollen.<br />
3.5 Vor- und Nachteile integrierter und standardisierter Lösungen<br />
Der wesentliche Vorteil integrierter Lösungen besteht darin, dass die einzelnen Komponenten<br />
bereits aufeinander abgestimmt sind und ohne großen Aufwand sofort miteinander<br />
funktionieren.<br />
Weil die betreffenden Komponenten auch von ihren Lieferanten als miteinander integrierte<br />
Komponenten gepflegt werden, gilt dies nicht nur während der Implementierung eines<br />
Systems, sondern während seiner gesamten Laufzeit. So kann bei einer integrierten<br />
Lösung zum Beispiel erwartet werden, dass sich die einzelnen Komponenten besser und<br />
einfacher gemeinsam aktualisieren lassen, als wenn die Einzelbestandteile jeweils separat<br />
bezogen und nach jedem Update wieder aufeinander abgestimmt und miteinander<br />
getestet werden müssten. Die einzelnen Bestandteile integrierter Lösungen passen also<br />
zueinander und können oft entsprechend dem Baukastenprinzip einfach miteinander<br />
kombiniert werden.<br />
Dies hat eine Reihe wirtschaftlicher Konsequenzen: So sinkt der Aufwand für Konzeption<br />
und Implementierung, etwa weil die Art und Weise des Zusammenwirkens zweier Anwendungen<br />
nicht neu konzeptioniert, das Rad also nicht immer wieder neu erfunden<br />
werden muss und Tests im geringeren Umfang notwendig sind, als bei manuell miteinander<br />
integrierten Komponenten. Durch die beim Hersteller und gegebenenfalls auch<br />
bei Dienstleistern, Administratoren und anderen Experten vorhandene Kenntnis von der<br />
Art und Weise, wie die Integration der Komponenten realisiert wurde, sind entsprechende<br />
Lösungen darüber hinaus einfacher und somit kostengünstiger supportbar. Außerdem<br />
ist das Know-how für die Implementierung und den Betrieb integrierter Lösungen aufgrund<br />
der gegenüber einer Individuallösung häufigeren Realisierung am Markt tendenziell<br />
einfacher verfügbar.<br />
Weitere Vorteile können sein, dass zwischen den miteinander integrierten Komponenten<br />
Daten oder Dokumente einfacher ausgetauscht werden können, weil viele Teile des Gesamtsystems<br />
dieselben Funktionen zum Anzeigen oder Bearbeiten der entsprechenden<br />
Daten nutzen. Integrierte Systeme und Lösungen können sowohl auf Administratoren-<br />
als auch auf Anwenderseite Arbeitsprozesse vereinfachen und dadurch Zeit und Kosten<br />
einsparen.<br />
Im Gegensatz dazu wird die Herstellerunabhängigkeit und Flexibilität durch Integration<br />
nicht gefördert. Wie im vorhergehenden Abschnitt gezeigt, steigt vielmehr die Herstellerabhängigkeit<br />
mit dem Grad der Integration und die Flexibilität sinkt.<br />
Demgegenüber ist die Verwendung standardisierter Schnittstellen und Protokolle ein<br />
wichtiges Mittel zur Sicherung von Herstellerunabhängigkeit und Flexibilität.<br />
Mit Lösungen, die einen hohen Integrationsgrad besitzen oder welche für die Kommunikation<br />
der Komponenten untereinander keine standardisierten Schnittstellen und Protokolle<br />
verwenden, ist eine Reihe von Gefahren verbunden:<br />
Seite 30
� Durch die fehlende Offenlegung von Schnittstellen und Protokollen ist nur der<br />
Hersteller der integrierten Lösung in der Lage, Komponenten zu tauschen, zu ergänzen<br />
oder zu erneuern.<br />
� Dadurch entsteht eine hohe Herstellerabhängigkeit („Vendor Lock-In―): Der Anwender<br />
ist darauf angewiesen, die Gesamtlösung mit allen von ihm benötigten zu<br />
nutzen; die Möglichkeit, Komponenten anderer Hersteller zu verwenden, besteht<br />
nicht oder ist nur mit oft unvertretbar hohem Aufwand möglich.<br />
� Hersteller werden so in die Lage versetzt, bei IT-Anwendern Erwerb und Einsatz<br />
zusätzlicher Produkte durchzusetzen, wodurch zusätzliche Kosten zusätzliche<br />
planerische, integrative und administrative Aufwände entstehen.<br />
� Fehlende Standardisierung führt außerdem oft dazu, dass die entsprechenden<br />
Komponenten im Wesentlichen nur mit sich selbst, beziehungsweise mit anderen<br />
(integrierten) Komponenten desselben Herstellers kompatibel sind, während sich<br />
der Datenaustausch zu Programmen oder Komponenten anderer Hersteller als<br />
schwierig oder unmöglich gestaltet.<br />
Ein bekanntes Beispiel für die durch hohe Integration entstehende Herstellerabhängigkeit<br />
ist der von Microsoft mit Exchange 2000 eingeführte Zwang zur Verwendung von<br />
Microsoft Active Directory. Durch diese Voraussetzung sind Anwender, die diese oder<br />
eine neuere <strong>Version</strong> von Exchange einführen wollen, nicht nur auf die Anschaffung von<br />
Active Directory Lizenzen, sondern auch auf die Konzeption dieses Verzeichnisdienstes,<br />
die Integration von Active Directory mit bestehenden Identity-Management-Systemen<br />
sowie die laufende Administration von Active Directory angewiesen.<br />
Als Gegenbeispiel dazu kann das Groupwaresystem Kolab dienen. Dieses, selbst als<br />
Open Source Software entwickelte System, integriert verschiedene, weit verbreitete<br />
Open Source Komponenten miteinander zu einem Mail- und Groupwaresystem, das in<br />
vielen Szenarien alternativ zu Microsoft Exchange eingesetzt werden kann. Dabei<br />
werden jedoch nur allgemein zugängliche Schnittstellen und Protokolle verwendet,<br />
sodass es sich um eine leichte Integration handelt. Das System verwendet OpenLDAP<br />
als Verzeichnisdienst. Aufgrund der leichten Integration, der Verwendung von standardisierten<br />
Protokollen und Schnittstellen und der Open Source Lizenz ist es aber auch<br />
möglich, das System mit jedem anderen Verzeichnisdienst zu integrieren. Dasselbe gilt<br />
für andere in Kolab verwendete Komponenten wie SMTP- oder Webserver.<br />
Allgemein gilt vor allem für hoch integrierte Lösungen, dass diese ihre wesentlichen Vorteile<br />
verlieren, wenn einzelne Komponenten durch andere, vom Hersteller nicht dafür<br />
vorgesehene Komponenten ausgetauscht werden können.<br />
Die folgende Tabelle zeigt angestrebte Ziele für eine flexible und wirtschaftliche IT-<br />
Infrastruktur und welche Auswirkungen Integration und Standardisierung hierauf haben.<br />
Es wird gezeigt, in wie weit die genannten Ziele tatsächlich eine direkt aus der Integration<br />
resultierende Eigenschaft sind oder nicht und in wie weit sie ein Resultat aus der<br />
Verwendung von standardisierten Schnittstellen und Protokollen sind. Für eine Reihe<br />
von Zielen gilt dabei, dass sie sich direkt aus der Integration oder der Standardisierung<br />
von Schnittstellen und Protokollen ableiten lassen, während andere nur eine indirekte<br />
Seite 31
Folge der beiden Kriterien sind. So ist beispielsweise die Eigenschaft, dass Komponenten<br />
eines Systems aufeinander abgestimmt sind, eine direkte Folge der Integration der<br />
entsprechenden Komponenten, während Standardisierung eine gute Abstimmung von<br />
Komponenten aufeinander nur begünstigt, nicht aber zusichert. Standardisierung ist<br />
deswegen in diesem Fall nur eine Eigenschaft, welche das „aufeinander abgestimmt<br />
sein― von Komponenten begünstigt.<br />
Ziel Auswirkung<br />
Aufeinander abgestimmte Komponenten<br />
(„Baukastenprinzip―)<br />
Ein zentraler Lieferant / Hersteller /<br />
Ansprechpartner für alle Komponenten<br />
Geringerer Aufwand bei Konzeption<br />
und Implementierung<br />
Gute Unterstützung für die Aktualisierung<br />
aller Komponenten als Gesamtsystem<br />
Seite 32<br />
Integration Standardisierung<br />
direkter Vorteil begünstigend<br />
direkter Vorteil begünstigend<br />
direkter Vorteil begünstigend<br />
direkter Vorteil begünstigend<br />
Einfach supportbar direkter Vorteil begünstigend<br />
Geringerer Testaufwand direkter Vorteil begünstigend<br />
Know-how am Markt potenziell leichter<br />
verfügbar<br />
Vereinfachung der Arbeitsprozesse<br />
von Anwendern und Administratoren<br />
Flexibilität beim Tausch von Komponenten<br />
gegen Komponenten anderer<br />
Hersteller<br />
Flexibilität bei der Verwendung von<br />
Komponenten, die ursprünglich nicht<br />
für die Verwendung mit der Lösung<br />
vorgesehen wurden<br />
Hersteller- beziehungsweise Lieferantenunabhängigkeit<br />
begünstigend direkter Vorteil<br />
direkter Vorteil begünstigend<br />
nachteilig<br />
(mit zunehmender Integrationstiefe)<br />
nachteilig<br />
(mit zunehmender Integrationstiefe)<br />
nachteilig<br />
(mit zunehmender Integrationstiefe)<br />
Tabelle 1: Auswirkungen von Integration und Standardisierung<br />
auf ausgewählte Ziele einer Behörde<br />
direkter Vorteil<br />
direkter Vorteil<br />
direkter Vorteil<br />
Die Tabelle zeigt, dass es eine Reihe positiver, kostensenkender Eigenschaften von IT-<br />
Infrastrukturkomponenten gibt, die durch Integration direkt gefördert werden, interessanterweise<br />
werden alle diese Eigenschaften gleichzeitig durch Standardisierung gefördert.
3.6 Kriterien zur Beurteilung integrierter Lösungen<br />
Bei der Auswahl neuer IT-Systeme stellt sich die Frage, in wie weit bereits miteinander<br />
integrierte Komponenten oder voneinander unabhängige Einzelbestandteile genutzt<br />
werden sollen. Zur Erleichterung entsprechender Entscheidungen werden hier einige<br />
Fragen angeboten, deren positive oder negative Beantwortung als Grundlage für die<br />
Beurteilung integrierter Lösungen dienen kann:<br />
1. Welcher Grad der Integration liegt vor?<br />
2. Ist die technische Realisierung der Integration öffentlich zugänglich dokumentiert?<br />
3. In wie weit ist es dokumentiert und vorgesehen, alternative Komponenten zu<br />
verwenden?<br />
4. Verwendet die Lösung zur Kommunikation der Komponenten untereinander die<br />
von den entsprechenden Komponenten implementierten Standardprotokolle oder<br />
gibt es Erweiterungen, welche nur für die Integrationslösung bestimmte Schnittstellen<br />
oder Protokolle implementieren?<br />
5. Falls keine standardisierten Protokolle und Schnittstellen verwendet werden,<br />
handelt es sich bei den Integrationskomponenten um Open Source Software, deren<br />
Quellcode einsehbar und veränderbar ist?<br />
6. Falls herstellerspezifische Schnittstellen und Protokolle verwendet werden: Sind<br />
die verwendeten Protokolle offen und frei zugänglich dokumentiert?<br />
7. Falls herstellerspezifische Schnittstellen und Protokolle verwendet werden: Gibt<br />
es frei zugängliche Referenzimplementierungen?<br />
8. Falls herstellerspezifische Schnittstellen und Protokolle verwendet werden: Gibt<br />
es vom Hersteller der Lösung unabhängig entwickelte Software, welche die entsprechenden<br />
Protokolle implementiert, beziehungsweise die Schnittstellen nutzen?<br />
Bei einer Beurteilung integrierter Lösungen kommt es also darauf an, in wie weit diese<br />
intern standardisierte Schnittstellen und Protokolle verwenden und in wie weit sie selbst<br />
offen und standardisiert sind. In allererster Näherung kann zur Beurteilung auch die Integrationstiefe<br />
herangezogen werden. Eine zu hohe Integration birgt zumindest potenziell<br />
die Gefahr einer hohen „Verstrickung― von Komponenten miteinander, das heißt, die<br />
Abhängigkeit der Komponenten untereinander lässt den Austausch von einzelnen Teilen<br />
nicht zu, auch wenn standardisierte Protokolle und Schnittstellen verwendet werden. Auf<br />
der anderen Seite bieten miteinander leicht integrierte Komponenten, welche für die<br />
Kommunikation untereinander standardisierte Schnittstellen und Protokolle verwenden,<br />
erhebliche Vorteile in Bezug auf Konzeption, Implementierung, Test, Administration und<br />
Pflege.<br />
3.7 Beispiele und Vergleich verbreiteter integrierter Infrastrukturlösungen<br />
In diesem Abschnitt wird der Versuch unternommen, am Beispiel der integrierten Lösungen<br />
von Microsoft, Novell und Univention die Umsetzung der Integration verschiedener<br />
Komponenten auf Basis der genannten Kriterien zu beurteilen. Diese drei wurden als<br />
Seite 33
Beispiele ausgewählt, weil sie die Kategorien rein proprietär (Microsoft), rein Open Source<br />
(Univention) und gemischt proprietär und Open Source (Novell) repräsentieren.<br />
Bei allen drei Lösungen handelt es sich um Komponenten-basierte Gesamtsysteme mit<br />
unterschiedlich hohem Integrationsgrad. Ihre Hersteller versprechen im Vergleich zu<br />
Lösungen, die aus projektspezifisch und manuell miteinander verbundenen Einzelkomponenten<br />
bestehen, durch Integration und Eigenschaften wie „Single-Point-of-<br />
Administration― Vorteile hinsichtlich Wirtschaftlichkeit, Sicherheit, Verfügbarkeit und Administrationsaufwänden.<br />
Die Lösungen bestehen jeweils im Wesentlichen aus den folgenden Komponenten: Serverbetriebssystem,<br />
Verzeichnisdienst für Identity- und zum Teil auch Infrastrukturmanagement,<br />
Anmelde-, Datei- und Druckdienste, E-Mail- und Kalenderdienste, System zum<br />
IP-Management, Software- und Updatemanagement sowie Clientbetriebssystem mit<br />
Officepaket, Mail- und Kalenderclient sowie Webbrowser. Damit decken die Lösungen<br />
den Basisinfrastrukturbedarf von Organisationen einschließlich der zum Betrieb notwendigen<br />
Managementwerkzeuge ab.<br />
3.7.1 Microsoft<br />
Microsoft liefert ein System aufeinander abgestimmter und miteinander integrierter Softwareprodukte,<br />
welche die genannten Komponenten bereitstellen. Im Einzelnen sind dies:<br />
Windows 2003 Server, Microsoft Operations Manager 12 und Systems Management Server<br />
13 sowie Microsoft Exchange 2007 und Windows XP/Vista, einschließlich Microsoft<br />
Internet Explorer sowie Microsoft Office 2007 einschließlich Microsoft Outlook.<br />
Die entsprechenden Produkte werden an anderen Stellen (siehe Themen der Module II<br />
und III) dieses Werkes ausführlich behandelt, sodass an dieser Stelle auf eine wiederholende<br />
Beschreibung verzichtet wird.<br />
3.7.2 Novell<br />
Vergleichbar zu Microsoft liefert auch Novell ein System aufeinander abgestimmter und<br />
miteinander integrierter Softwareprodukte. Die oben genannten Funktionen werden hier<br />
durch die Produkte SUSE Linux Enterprise Server 10, Open Enterprise Server 2,<br />
Groupwise 7, ZenWorks, SUSE Linux Enterprise Desktop 10 mit integriertem Office-<br />
Paket OpenOffice.org, Mail- und Kalenderclient Evolution und Webbrowser Mozilla<br />
Firefox bereitgestellt. Die entsprechenden Einzelprodukte werden von Novell unter dem<br />
Namen „Open Workgroup Suite― auch als integrierte Gesamtlösung vertrieben.<br />
Ergänzende Informationen findet man auf den Webseiten von Novell über den Link<br />
http://www.novell.com/products/openworkgroupsuite/.<br />
SUSE Linux Enterprise Server<br />
Die dabei von Novell verwendeten Client- und Serverbetriebssystemen SUSE Linux Enterprise<br />
Server (SLES) beziehungsweise -Desktop (SLED) sind Linux-Distributionen, die<br />
vom Hersteller komplett als Open Source Software veröffentlicht und im Rahmen eines<br />
Maintenance- (oder Abo-) Modells vertrieben werden.<br />
12 System Center Operations Manager 2007 ist die aktuelle <strong>Version</strong><br />
13 System Center Configuration Manager 2007 ist die aktuelle <strong>Version</strong><br />
Seite 34
Open Enterprise Server<br />
Mit „Open Enterprise Server― (OES) bietet Novell auf der Grundlage von SLES als Serverbetriebssystem<br />
einen großen Teil der in der Vergangenheit ausschließlich mit Novell<br />
Netware gelieferten Serveranwendungen, wie den Verzeichnisdienst eDirectory, IP-<br />
Managementdienste (DHCP, DNS), Datei- und Druckdienste sowie die dazu gehörenden<br />
Managementwerkzeuge. Dadurch wird Anwendern der „klassischen― Novell-Produkte ein<br />
möglichst einfacher Weg geboten, nach Linux als Betriebssystemplattform zu migrieren,<br />
während aufbauend darauf weiterhin die gleichen, proprietären Dienste genutzt werden<br />
können. Gleichzeitig erweitert OES den Leistungsumfang klassischer Linux-<br />
Serverdistributionen um die Novell-spezifischen Dienste wie Novell iFolder oder Novell<br />
iPrint.<br />
Groupwise<br />
Mit Novell Groupwise ist ein Groupwaresystem in die Gesamtlösung integriert, welches<br />
SLES als Betriebssystemgrundlage und den in OES enthaltenen Verzeichnisdienst eDirectory<br />
zur Verwaltung u.a. von Benutzern und E-Mail-Konten nutzt. Groupwise bietet die<br />
für Groupwaresysteme typischen Funktionen E-Mail, Kalender- und Kontaktverwaltung<br />
sowie Aufgaben- und Dokumentenverwaltung an. Darüber hinaus ist eine Instant-<br />
Messaging-Lösung enthalten. Auf Groupwise kann mit einem eigenen Client für Windows<br />
sowie über einen Konnektor von Microsoft Outlook und von Linux aus mit Novell<br />
Evolution zugegriffen werden. Das System unterstützt außerdem eine Reihe mobiler<br />
Geräte.<br />
ZenWorks<br />
Für das Client- und Softwaremanagement ist mit Novell ZenWorks ein weiteres Produkt<br />
in die Lösung integriert. Wie Groupwise verwendet ZenWorks standardmäßig den Verzeichnisdienst<br />
eDirectory als Basis für das Identity- und Infrastrukturmanagement. Zen-<br />
Works ermöglicht das Konfigurations- und Softwaremanagement von Windows- und Linux-basierten<br />
Clients und bringt u.a. Funktionen zur Inventarisierung mit.<br />
SuSE Linux Enterprise Desktop<br />
Der SuSE Linux Enterprise Desktop (SLED) ist eine auf den Einsatz am Arbeitsplatz<br />
optimierte Linux-Distribution, welches Komponenten wie OpenOffice.org, den Mail-Client<br />
Evolution oder den Webbrowser Mozilla Firefox bereits in einer vorkonfigurierten und auf<br />
die Gesamtlösung abgestimmten Variante enthält. Das Desktop-System ist als Client für<br />
die übrigen Komponenten konzeptioniert und kann durch diese zentral verwaltet werden.<br />
Im Vergleich zu den Lösungen von Microsoft und Univention kann das Softwaresystem<br />
von Novell als eine Art Mittelweg angesehen werden: Während die Betriebssystemplattform<br />
von Server und Client zwar Open Source sind und die typischen Open Source<br />
Programme und Dienste enthalten, werden die darauf aufsetzenden Dienste wie Verzeichnisdienst,<br />
Software- und Clientmanagement oder Groupwaresystem sowie die entsprechenden<br />
Managementwerkzeuge wie bei Microsoft als proprietäre Software geliefert.<br />
Seite 35
3.7.3 Univention Corporate Server<br />
Univention bietet mit Univention Corporate Server eine mit den Systemen von Novell und<br />
Microsoft vergleichbare, integrierte Infrastrukturlösung an, die vollständig als Open Source<br />
Software veröffentlicht wird. Die genannten Funktionen werden von den folgenden<br />
UCS-Komponenten zur Verfügung gestellt: UCS-Basissystem, UCS-Managementsystem<br />
mit Univention Directory Manager, „Kolab für UCS― sowie Univention Corporate Desktop<br />
(UCD) mit dem Office-Paket OpenOffice.org, dem Mail- und Kalenderclient KDE Kontact<br />
sowie dem Webbrowser Mozilla Firefox.<br />
UCS-Basissystem<br />
Die Basis von Univention Corporate Server (UCS) bildet eine Linux-Distribution, das<br />
sogenannte UCS-Basissystem. Das UCS-Basissystem basiert auf der freien Linux-<br />
Distribution Debian GNU/Linux und ist in weiten Teilen identisch damit. Univention<br />
verwendet darin jedoch einige als Open Source Software veröffentlichte Eigenentwicklungen,<br />
wie einen eigenen Installer und ein eigenes Konfigurationsmanagement.<br />
UCS-Managementsystem<br />
Aufbauend auf der Kerndistribution liefert Univention mit dem sogenannten UCS-<br />
Managementsystem ein Identity- und Infrastrukturmanagementsystem, das weitverbreitete<br />
Open Source Komponenten, wie den Verzeichnisdienst OpenLDAP, Heimdal Kerberos<br />
oder OpenSSL als Basis benutzt.<br />
Ähnlich wie die auf Active Directory beziehungsweise eDirectory aufbauenden Identity-<br />
und Infrastrukturmanagementsysteme von Microsoft beziehungsweise Novell, kann das<br />
UCS-Managementsystem flexibel genutzt werden, um darin unterschiedliche Objekte,<br />
Standorte, Richtlinien oder organisatorische Einheiten zu verwalten.<br />
Es enthält einen Konnektor zu Microsoft Active Directory, mit dem viele Aspekte von<br />
Active Directory über das UCS-Managementsystem verwaltet werden können und umgekehrt.<br />
Dieser Konnektor unterstützt vor allem Migrationen von Microsoft-Systemen<br />
nach UCS sowie den dauerhaften Parallelbetrieb. Auch die Anbindung anderer Systeme<br />
und Verzeichnisdienste ist über verschiedene Schnittstellen und APIs möglich.<br />
Die Bedienung des UCS-Managementsystems kann sowohl über den Web-basierten<br />
UCS Directory Manager als auch ein Kommandozeilen-orientiertes Interface vorgenommen<br />
werden.<br />
Eine Besonderheit des UCS-Managementsystems ist der sogenannte LDAP-Listener-<br />
Mechanismus. Damit können auf UCS-Systemen Plugins registriert werden, die das System<br />
dann aufruft, wenn bestimmte im Plugin definierte Objekte (wie zum Beispiel Benutzer,<br />
Gruppen oder Rechner) erzeugt, modifiziert oder geändert werden.<br />
Das UCS-Managementsystem verwendet intern ein Domänenkonzept, das sich konzeptionell<br />
an den von Microsoft Windows her bekannten „Domänen― orientiert. Analog zu<br />
den Systemen von Microsoft und Novell lassen sich so anspruchsvolle, über viele Standorte<br />
verteilte IT-Infrastrukturen zentral verwalten (siehe Abbildung „UCS-Umgebung―)<br />
Seite 36
UCS-Module<br />
Univention und andere Hersteller liefern Module, mit denen bestimmte Dienste oder<br />
Programme in das UCS-Managementsystem integriert und darüber administrierbar gemacht<br />
werden. Wichtige von Univention gelieferte Module sind:<br />
Services für Windows: Dieses Modul stellt auf der Basis von Samba und anderen Open<br />
Source Komponenten alle für Rollout und Betrieb von Windows-basierten Clients und<br />
Servern benötigten Funktionen zur Verfügung.<br />
Univention Corporate Desktop ist ein auf KDE basierender in UCS enthaltener Desktop,<br />
der über das UCS-Managementsystem hinsichtlich von Eigenschaften wie über Menüs<br />
zugängliche Funktionen, Desktop-Icons, Drucker- und Sharezuordnungen, Nutzerberechtigungen<br />
usw. administriert wird.<br />
Kolab für UCS ist eine in UCS integrierte Variante des Open Source Groupwaresystems<br />
Kolab 2 auf das von verschiedenen Clients wie KDE Kontact, Microsoft Outlook, webbasiert<br />
oder mobil zugegriffen werden kann.<br />
Eine weitergehende Beschreibung der UCS-Module ist auf den Webseiten von Univention<br />
verfügbar (www.univention.de). Module anderer Hersteller sind u.a.: die Groupwaresysteme<br />
Scalix und Zarafa sowie die Softwareverteilung und -inventarisierung OPSI .<br />
3.7.4 Komponenten- und Protokollübersicht<br />
Die folgende Tabelle zeigt, welche Produkte oder Produktkomponenten die jeweiligen<br />
Hersteller zur Bereitstellung der oben aufgeführten Funktionen verwenden:<br />
Komponente Microsoft Novell Univention<br />
Serverbetriebssystem Windows 2003 Server SuSE Linux Enterprise<br />
Server 10<br />
Seite 37<br />
Univention Corporate<br />
Server 2.0 (auf Basis<br />
von Debian GNU<br />
Linux „Etch―)<br />
Verzeichnisdienst Active Directory eDirectory OpenLDAP<br />
Anmeldedienste Kerberos, NTLMv2,<br />
u.a.<br />
NMAS, Kerberos,<br />
NTLMv2, u.a.<br />
Dateidienste CIFS, NFS NCP, NFS, CIFS<br />
(Samba)<br />
Druckdienste Windows Druckdienste<br />
E-Mail- und Kalenderdienste<br />
Kerberos, NTLMv2<br />
(Samba), PAM, u.a.<br />
NFS, CIFS (Samba)<br />
iPrint CUPS (Common Unix<br />
Print System)<br />
Exchange 2007 Groupwise 7 Kolab 2 für UCS<br />
IP-Management Active Directory ZenWorks OpenLDAP, Univention<br />
Directory Manager,<br />
ISC DHCPD,<br />
ISC DNS
Komponente Microsoft Novell Univention<br />
Software- und Update-<br />
Management<br />
Client-Betriebssystem Windows XP / Windows<br />
Vista<br />
Active Directory / MSI ZenWorks OpenLDAP, Univention<br />
Directory Manager<br />
APT, OPSI für<br />
UCS<br />
Seite 38<br />
SuSE Linux Enterprise<br />
Desktop<br />
Univention Corporate<br />
Desktop<br />
Officepaket Office 2007 OpenOffice.org OpenOffice.org<br />
Mail- und Kalenderclient Outlook 2007 Novell Evolution KDE Kontact<br />
Webbrowser Internet Explorer Mozilla Firefox Mozilla Firefox<br />
Tabelle 2: Übersicht der Komponenten und Protokolle der Beispiele für Integrationslösungen<br />
3.7.5 Integrationsgrad und Herstellerabhängigkeit<br />
Die Systeme von Microsoft und Novell weisen beide einen sehr hohen Integrationsgrad<br />
auf. So sind manche Komponenten wie zum Beispiel Microsoft Exchange und Microsoft<br />
Active Directory zwingend aufeinander angewiesen. Auch bei Novell ist zum Beispiel<br />
ZenWorks zwingend auf den Verzeichnisdienst eDirectory angewiesen.<br />
Bei der Univention-Lösung gibt es zwar im Bereich von Konfiguration und Administration<br />
ebenfalls eine relativ hohe Integration: Die Komponenten können aufeinander abgestimmt<br />
installiert werden, sie werden außerdem über einheitliche Mechanismen wie Registratur<br />
und Verzeichnisdienst-basiertes Managementsystem einheitlich administriert.<br />
Allerdings unterscheiden sich die verwendeten Komponenten praktisch nicht von den<br />
auch unabhängig von Univention verfügbaren Open Source Komponenten, sodass die<br />
Integration auf Funktions- und Datenebene nur sehr gering ist.<br />
Bezüglich der Lizenzierung ist Univention der einzige Hersteller, der sämtliche Bestandteile<br />
der integrierten Gesamtlösung als Open Source Software veröffentlicht. Bei Novell<br />
ist zwar das Basisbetriebssystem (SUSE Linux Enterprise Server, beziehungsweise<br />
Desktop) mit den enthaltenen Distributionskomponenten Open Source Software, die<br />
darauf aufbauenden Komponenten von Open Enterprise Server wie eDirectory oder<br />
Groupwise sind aber proprietär und werden nicht im Quellcode veröffentlicht. Microsoft<br />
stellt keine der hier betrachteten Komponenten unter einer Open Source Lizenz zur Verfügung.<br />
Aufgrund des Umstands, dass die Integrationstiefe bei Univention im Vergleich zu den<br />
Systemen von Microsoft und Novell eher gering ist und weil Univention alle Bestandteile<br />
als Open Source Software mitliefert, ist hier die Verwendung alternativer Komponenten<br />
beziehungsweise die alleinstehende Verwendung einzelner UCS-Komponenten am<br />
ehesten möglich, die Herstellerabhängigkeit also am geringsten, wenngleich dann die<br />
Vorteile der Integrationslösung zumindest teilweise verloren gehen können.<br />
Die folgende Tabelle stellt die zur Beurteilung integrierter Lösungen relevanter Fragen<br />
am Beispiel der skizzierten Infrastrukturlösungen von Microsoft, Novell und Univention<br />
im Überblick dar:
Kriterium Microsoft Novell Univention<br />
Welcher Integrationsgrad<br />
besteht?<br />
Ist die technische Realisierung<br />
der Integration öffentlich<br />
dokumentiert?<br />
Ist der Einsatz alternativer<br />
Komponenten technisch<br />
möglich?<br />
Verwendet die Lösung<br />
ausschließlich Standardprotokolle<br />
und Schnittstellen?<br />
Handelt es sich bei den<br />
Integrationskomponenten<br />
um Open Source Software,<br />
deren Quellcode<br />
einsehbar und veränderbar<br />
ist?<br />
Werden proprietäre, nicht<br />
offengelegte oder lizenzpflichtige<br />
Protokolle verwendet?<br />
Sind die verwendeten Protokolle<br />
offen und frei zugänglich<br />
dokumentiert?<br />
3.8 Fazit<br />
hoch mittel bis hoch leicht bis mittel<br />
teilweise teilweise teilweise / durch<br />
Quellcode vollständig<br />
teilweise teilweise vollständig<br />
nein nein ja<br />
nein teilweise ja<br />
teilweise teilweise nein<br />
teilweise teilweise ja<br />
Tabelle 3: Beurteilung des Integrationsgrades der Beispiellösungen<br />
Die Verwendung integrierter Lösungen bietet aus der Sicht von IT-Anwendern eine Menge<br />
Vorteile: Die Komponenten passen zueinander, es reduzieren sich Konzeptions-,<br />
Test- und Implementierungsaufwände und während des Betriebs sind integrierte Lösungen<br />
oft leichter zu supporten und zu warten.<br />
Gleichzeitig bringen integrierte Lösungen die Gefahr der Herstellerabhängigkeit mit sich.<br />
Insbesondere die Integrationstiefe, aber auch die Frage, in wie weit trotz Integration<br />
standardisierter Schnittstellen und Protokolle verwendet werden, können bei der Beurteilung<br />
der Frage helfen, in wie weit man sich mit einer integrierten Lösung tatsächlich in<br />
die Abhängigkeit zu einem Hersteller begibt. Grundsätzlich ist diese Abhängigkeit auch<br />
dann geringer, wenn die entsprechende Lösung als Open Source Software veröffentlicht<br />
wird. In diesem Fall besteht jederzeit die Möglichkeit den Source Code zu analysieren<br />
und ihn zu verändern, sei es nun, dass dies die Behörde selbst tut oder einen beliebigen<br />
und geeigneten Dienstleister damit beauftragt.<br />
Seite 39
Am Beispiel von Univention Corporate Server und in weiten Teilen auch bei der von Novell<br />
angebotenen Lösung zeigt sich, dass im Umfeld von Linux und Open Source Software<br />
mittlerweile ebenfalls integrierte Systeme verfügbar sind, die viele der Vorteile der<br />
aufeinander ausgerichteten Systembestandteile von Microsoft bieten, aber durch geringere<br />
Integrationstiefe und Open Source Lizenzierung eine deutlich geringere Herstellerabhängigkeit<br />
mit sich bringen.<br />
Seite 40
B Thema: Rechtliche Aspekte von Softwaremigrationen<br />
1 Einleitung<br />
Die Wahl einer Behörde zwischen einer Migration zu proprietärer und einer Migration zu<br />
Open Source Software (OSS) beruht in erster Linie auf technischen und wirtschaftlichen<br />
Kriterien. Die Entwicklungen der letzten Jahre haben dagegen gezeigt, dass die<br />
rechtlichen Aspekte eine eher untergeordnete Rolle spielen. Zwar verweisen die<br />
Anbieter proprietärer Softwareprodukte regelmäßig auf angebliche rechtliche Risiken für<br />
die Nutzer bei der Verwendung von OSS, bei näherer Betrachtung liefern die<br />
Rechtsfragen jedoch keine entscheidungserheblichen Argumente, die gegen den Einsatz<br />
von OSS sprechen.<br />
Zahlreiche Behörden und Unternehmen setzen seit Jahren OSS ein, ohne dass es zu<br />
einer Realisierung der immer wieder betonten Risiken gekommen wäre. Zudem haben<br />
mehrere deutsche Gerichte in den letzten Jahren die Tragfähigkeit des Lizenzmodells<br />
nach deutschem Recht bestätigt 14 . Auch hat der Gesetzgeber mittlerweile vier Sondervorschriften<br />
zugunsten des OSS-Lizenzmodells in das Urheberrechtsgesetz aufgenommen<br />
15 , welche zu einer Klärung der dort behandelten Einzelfragen geführt und den<br />
Willen des Gesetzgebers gezeigt haben, das Lizenzmodell durch legislative Änderungen<br />
zu stärken. Die Rechtsprobleme beim Einsatz von OSS haben sich in den letzten Jahren<br />
in der Praxis deshalb als überschaubar erwiesen. Das Argument „Rechtsrisiko OSS―<br />
wird zusätzlich relativiert, wenn man die rechtliche Situation bei OSS mit den möglichen<br />
Rechtsproblemen beim Einsatz von proprietärer Software vergleicht. Auch beim Einsatz<br />
herkömmlich lizenzierter Programme sind zahlreiche rechtliche Risiken zu beachten.<br />
Schließlich gilt es, die spezifischen rechtlichen Vorteile zu berücksichtigen, die der<br />
Einsatz von OSS mit sich bringen kann. Behörden können beim Einsatz von OSS sehr<br />
weitreichende Nutzungsrechte und dadurch strategische Vorteile erwerben.<br />
Das folgende Kapitel will den Entscheidern in Behörden die für die Auswahlentscheidung<br />
notwendigen rechtlichen Basisinformationen vermitteln. Die Migration zu OSS oder zu<br />
proprietärer Software bringt es mit sich, dass die Behörde mit neuen Vertragspartnern<br />
zusammenarbeiten muss. Das Profil der in Anspruch genommenen Dienstleistungen<br />
ändert sich, das Gleiche gilt für die rechtliche Bewertung dieser Vertragsverhältnisse.<br />
Hierbei sind auch urheber- und patentrechtliche Fragen zu beurteilen. Zudem gilt es Haftungsrisiken<br />
zu evaluieren und zu fragen, welche Ansprüche die Behörde gegenüber<br />
ihren Vertragspartnern und Dritten geltend machen kann, wenn die eingesetzten Programme<br />
fehlerhaft sind oder einer Nutzung Rechte Dritter entgegenstehen. Schließlich<br />
sind die Beschaffungsvorgänge so zu gestalten, dass Ausschreibungen und Vergabeentscheidungen<br />
den Anforderungen des Vergaberechts entsprechen. Dabei sind jeweils<br />
14 Siehe insb. Landgericht München, Urteil vom 19.05.2004, AZ 21 O 6123/04, Computer und<br />
Recht 2004,S. 774; LG Frankfurt a.M., Urteil v. 06.09.2006, AZ 2-6 O 224/06, Computer<br />
und Recht 2006, S. 729; LG München, Urteil v. 12.07.2007, AZ 7 O 5245/07, Computer und<br />
Recht 2008, 57 (nicht rechtskräftig).<br />
15 Siehe §§ 31a Abs. 1 S. 2, 32 Abs. 3 S. 3, 32a Abs. 3 S. 3, 32c Abs. 3 S. 3 UrhG.<br />
Seite 41
die rechtlichen Risiken und Chancen des Einsatzes von OSS oder proprietärer Software<br />
miteinander zu vergleichen.<br />
Im Folgenden soll die Behörde als Nutzer von Informationstechnologie im Vordergrund<br />
stehen. Fragen, die sich bei der Entwicklung und beim Vertrieb von OSS durch Behörden<br />
ergeben, werden dagegen nur am Rande betrachtet. Sie liegen außerhalb des<br />
Fokus des <strong>Migrationsleitfaden</strong>s. Das Kapitel wird vier Fragenkomplexe schwerpunktmäßig<br />
beleuchten:<br />
� Vertragsrecht<br />
� Urheber- und Patentrecht<br />
� Haftung und Gewährleistung<br />
� Vergaberecht<br />
2 Methode<br />
Grundsätzlich werden bei den rechtlichen Fragestellungen beide Migrationswege<br />
betrachtet. Als Ausgangspunkt bei der Betrachtung der genannten Unterthemen soll die<br />
rechtliche Situation bei einer Nutzung von OSS untersucht werden. Am Ende der<br />
einzelnen Abschnitte werden vergleichende Hinweise zur Situation bei einer Migration zu<br />
proprietärer Software gegeben. Die rechtlichen Besonderheiten, die sich bei der Nutzung<br />
von OSS ergeben, stehen im Vordergrund. Diese Schwerpunktbildung ist gerechtfertigt,<br />
weil sich bei einer Migration zu proprietärer Software für die Behörde zumeist keine<br />
Unterschiede zur Ausgangslage ergeben. Dagegen bringt die Migration zu OSS<br />
erhebliche Veränderungen für die Rechtslage mit sich. Vor diesem Hintergrund ist es<br />
verständlich, dass Entscheider primär Fragen zu der Rechtslage der OSS haben. Der<br />
<strong>Migrationsleitfaden</strong> richtet sich an diesem Interessenschwerpunkt aus.<br />
Die Rechtsfragen der OSS haben in den letzten Jahren zu einer regelrechten Flut juristischer<br />
Fachveröffentlichungen geführt 16 . Hinzukommen die bereits erwähnten Entscheidungen<br />
deutscher Gerichte, welche die Wirksamkeit zentraler Aspekte der GPL bestätigt<br />
haben. Es ist dennoch darauf hinzuweisen, dass bislang keine höchstrichterlichen Entscheidungen<br />
zu den Rechtsfragen der OSS ergangen sind, welche die hier dargestellten<br />
Rechtsfragen abschließend geklärt hätten. Zudem werden in der stark akademisch geprägten<br />
Fachliteratur einige Fragen uneinheitlich beurteilt. Es ist nicht die Aufgabe dieses<br />
Leitfadens sein, jedes Detail dieser juristischen Fachdiskussion nachzuzeichnen,<br />
vielmehr soll eine nachvollziehbare Darstellung und kurze Erläuterung der jeweils vorherrschenden<br />
Auffassung die Leser bei ihren Entscheidungen unterstützen. Abweichungen<br />
in der juristischen Fachliteratur zu einzelnen Fragen sind also möglich.<br />
3 Notwendigkeit der Rechtsberatung im Einzelfall<br />
Der Abschnitt zu den rechtlichen Aspekten verfolgt zwei Ziele. Er will zum einen dabei<br />
helfen, unberechtigten Ängsten durch gezielte Informationen entgegenzutreten. Zum<br />
anderen erscheint es als notwendig, dort auf rechtliche Probleme hinzuweisen, wo sie<br />
16 Eine Auflistung von ca. 60 deutschsprachigen und zahlreichen fremdsprachigen Beiträgen<br />
findet sich unter http://www.ifross.de.<br />
Seite 42
tatsächlich bestehen. Wo eines der aufgezeigten Rechtsprobleme auftritt, kann der <strong>Migrationsleitfaden</strong><br />
eine individuelle Rechtsberatung nicht ersetzen. Hier müssen die Behörden<br />
auf Rechtsämter, Rechtsabteilungen oder externen Sachverstand, insbesondere<br />
Rechtsanwälte zurückgreifen. Dies gilt auch für die Vertragsgestaltung im Einzelfall.<br />
4 Vertragsrecht<br />
4.1 Einleitung<br />
Ein regelmäßig gegen den Einsatz von OSS vorgebrachtes Argument betrifft die<br />
angeblich unklaren Vertragsverhältnisse. Anbieter proprietärer Programme weisen oft<br />
darauf hin, dass Behörden bei ihrem Vertriebsmodell alles aus einer Hand erwerben<br />
können, wodurch die Ansprechpartner für die Behörden fest stehen, während der Nutzer<br />
bei OSS einer dezentralen, weltweit verstreuten Entwicklergemeinschaft<br />
gegenüberstehe, sodass die Verantwortlichen, etwa bei einem Haftungs- oder<br />
Gewährleistungsfall, nicht zu erreichen seien. Betrachtet man die Vertragsverhältnisse<br />
beim Erwerb von OSS im Einzelnen, so erweist sich das Argument als nicht stichhaltig.<br />
In der typischen Fallgestaltung, in der eine Behörde OSS bei einem Zwischenhändler<br />
oder Serviceanbieter erwirbt, um sie bestimmungsgemäß einzusetzen, kommt es nur zu<br />
einem Vertragsschluss mit ebendiesem Zwischenhändler oder Serviceanbieter. Die<br />
rechtliche Situation ist dann weder komplexer noch rechtlich nachteilhafter als bei<br />
proprietärer Software.<br />
Bei Softwareüberlassungsverträgen sind grundsätzlich zwei Vertragsgegenstände zu<br />
unterscheiden: Die Software als solche, also die Bits und Bytes und die Nutzungsrechte<br />
an der Software, welche oftmals entsprechend internationaler Sprachgewohnheiten als<br />
Einräumung einer "Lizenz" bezeichnet wird. Die Lizenz kann dem Nutzer Unterschiedliches<br />
gestatten. Sie kann das einfache Laufenlassen der Software gestatten, sie kann<br />
dem Nutzer aber auch Entwicklungs- und Vertriebsbefugnisse einräumen. Proprietäre<br />
Softwarelizenzen erlauben in der Regel nur das Ablaufenlassen des Programms; OSS-<br />
Lizenzen sind demgegenüber durch besonders weitgehende Rechtseinräumungen gekennzeichnet.<br />
Typischerweise erhält der Nutzer von OSS die Software als solche nicht direkt von den<br />
Rechtsinhabern, also den Inhabern der geistigen Eigentumsrechte an OSS - das sind die<br />
Entwickler oder Unternehmen, die die Programme erstellt haben. Der Nutzer wird in aller<br />
Regel eine Distribution erwerben, und zwar entweder vom Distributor direkt oder von<br />
einem Dienstleister. Gerade für kleinere Behörden ebenfalls denkbar, aber praktisch<br />
weniger relevant, dürfte der Erwerb einer Distribution im Einzelhandel sein. In allen genannten<br />
Konstellationen fallen der Erwerb der Rechte vom Rechtsinhaber einerseits und<br />
der Erwerb der Bits und Bytes andererseits auseinander. Es handelt sich deshalb typischerweise<br />
um ein Dreipersonenverhältnis zwischen Nutzer, Rechtsinhaber und Zwischenhändler<br />
(Distributor, Softwarehaus, Beratungsunternehmen, Einzelhandel, Dienstleister)<br />
mit jeweils rechtlich unabhängigen Vertragsverhältnissen:<br />
Seite 43
Nutzer<br />
Rechteinhaber Zwischenhändler<br />
Abbildung 2: Vertragsverhältnisse<br />
Der Nutzer braucht für die Benutzung der Software zunächst lediglich einen Vertrag mit<br />
dem Zwischenhändler, auf dessen Grundlage er die Software als solche erwirbt. Bereits<br />
durch den Erwerb einer rechtmäßig in Verkehr gebrachten Programmkopie erwirbt der<br />
Nutzer die Befugnis, das Programm bestimmungsgemäß zu benutzen.<br />
Möchte der Nutzer die zusätzlichen Rechte aus der GPL oder einer anderen OSS-Lizenz<br />
wahrnehmen, so muss er einen weiteren Vertrag abschließen, diesmal mit den Rechtsinhabern.<br />
Nur wenn eine solche Nutzung der OSS gewünscht wird, ist die OSS-Lizenz<br />
überhaupt relevant. Möchte der Nutzer die Software dagegen nur ablaufen lassen, so<br />
bedarf es nicht des Abschlusses eines Lizenzvertrags mit den Rechtsinhabern.<br />
Die wichtigsten OSS-Lizenzen (GPL <strong>Version</strong> 2 17 , GPL <strong>Version</strong> 3 18 und Lesser GPL<br />
<strong>Version</strong> 3 19 ) klammern die einfache Benutzung des Programms aus ihrem Anwendungsbereich<br />
aus, vgl. Ziffer 0 Absatz 2 GPL <strong>Version</strong> 2 ("Activities other than copying,<br />
distribution and modification are not covered by this license; they are outside its scope.<br />
The act of running the program is not restricted [...].") sowie Ziffer 9 GPL <strong>Version</strong> 3 ("You<br />
are not required to accept this license in order to receive or run a copy of the Program.").<br />
Dies korrespondiert mit den Regelungen des deutschen Urheberrechts. Gemäß § 69d<br />
Abs. 1 UrhG bedarf es für die "bestimmungsgemäße Benutzung" eines Computerprogramms<br />
keiner Lizenz oder sonstigen Erlaubnis des Rechtsinhabers, sofern das<br />
Programm rechtmäßig in Verkehr gebracht worden ist. Solange sich also der Distributor<br />
und der Zwischenhändler an die Bedingungen der Lizenz gehalten haben und der<br />
Vertrieb rechtmäßig gewesen ist, bedarf der Nutzer für die einfache Benutzung des<br />
Programms keines Vertrags mit den Inhabern der Rechte an dem Programm. Die GPL<br />
oder sonstige OSS-Lizenz ist dann irrelevant.<br />
Einige OSS-Lizenzen klammern die einfache Benutzung nicht ausdrücklich aus, dies gilt<br />
insbesondere für BSD Lizenzen 20 . Dies ändert aber nichts an der Tatsache, dass der<br />
Nutzer eines rechtmäßig in Verkehr gebrachten Programms im Normalfall keiner<br />
weiteren Lizenz bedarf, wenn er das Programm nur bestimmungsgemäß benutzen<br />
17 Siehe http://www.gnu.org/licenses/old-licenses/gpl-2.0.html<br />
18 Siehe http://www.fsf.org/licensing/licenses/gpl.html<br />
19 Siehe http://www.gnu.org/licenses/lgpl.html<br />
20 Siehe http://www.opensource.org/licenses/bsd-license.php<br />
Seite 44
möchte. Kommt es nicht zum Abschluss des Lizenzvertrags, so handelt es sich um ein<br />
einfaches Zweipersonenverhältnis zwischen dem Nutzer und dem Dienstleister. Das<br />
heißt, dass von vornherein nur der Dienstleister für vertragliche Ansprüche auf Haftung<br />
und Gewährleistung in Frage kommt.<br />
Zur bestimmungsgemäßen Benutzung gehört nach dem Urheberrechtsgesetz auch das<br />
Erstellen einer Sicherungskopie (§ 69d Abs. 2 UrhG), die Fehlerberichtigung (§ 69d<br />
Abs. 1 UrhG) sowie die Dekompilierung zur Herstellung der Interoperabilität mit anderen<br />
Programmen (§ 69e UrhG). Erst wenn mehr Programmkopien als nur eine Sicherungskopie<br />
erstellt und weitergegeben werden oder wenn das Programm jenseits der<br />
Fehlerberichtigung verändert wird, ist der Abschluss eines Lizenzvertrags erforderlich.<br />
Ob die OSS-Lizenzen für die Behörde im Einzelfall von Bedeutung sind, hängt also von<br />
der Art der Nutzung des Programms ab. Wenn eine Behörde zum Beispiel mit einer<br />
einzelnen Linux-Distribution eine Vielzahl von Arbeitsplätzen ausrüstet, so wird man bei<br />
Anwendung des deutschen Urheberrechts von einer Vervielfältigung auszugehen haben,<br />
sodass eine OSS-Lizenz abgeschlossen werden muss. Gleiches gilt für die Weitergabe<br />
von Programmkopien an andere Behörden, die öffentliche Zugänglichmachung in<br />
Datennetzen und die Weiterentwicklung.<br />
Nutzung ohne Lizenzvertrag Nutzung mit Lizenzvertrag<br />
Ablaufenlassen Ablaufenlassen<br />
Erstellen Sicherungskopie Erstellen Sicherungskopie<br />
Fehlerberichtigung Fehlerberichtigung<br />
Dekompilieren für Interoperabilität Dekompilieren für Interoperabilität<br />
- Vervielfältigung<br />
- Veränderung<br />
- Verbreitung<br />
- Öffentlich Zugänglichmachen<br />
Tabelle 4: Relevanz der OSS-Lizenzen für Nutzer<br />
4.2 Vertragsverhältnisse bei OSS: Vertrag mit Zwischenhändler<br />
Für das Verhältnis zwischen der Behörde als Nutzer und demjenigen, von dem sie das<br />
Programm erhalten hat, sind unterschiedliche Fallgestaltungen denkbar, in denen unterschiedliche<br />
Gesetzesregelungen anzuwenden sind. Dies ist vor allem für die Haftung<br />
und Gewährleistung von Bedeutung.<br />
In der einfachsten Konstellation erwirbt die Behörde eine Standard-OSS, ohne weitere<br />
Leistungen ihres Vertragspartners in Anspruch zu nehmen. Ist ein Entgelt zu zahlen, so<br />
finden die Vorschriften über den Kaufvertrag Anwendung. Wird die Software dagegen<br />
kostenlos abgegeben, so sind die Vorschriften des Schenkungsrechts maßgeblich. Hierher<br />
gehört zum Beispiel der kostenlose Download eines Programms von der Website<br />
eines Distributors. Entsprechende Angebote können auch von Behörden wahrgenommen<br />
werden.<br />
Seite 45
Wird das Programm dagegen im Rahmen einer Gesamtleistung überlassen, so ist die<br />
rechtliche Beurteilung schwieriger. Als Grundregel kann hier festgehalten werden, dass<br />
eine künstliche Aufspaltung der einzelnen Teilleistungen in Einzelverträge zum Nachteil<br />
der Behörde vertragsrechtlich nicht möglich ist. Wird etwa Hardware mit vorinstallierter<br />
OSS vertrieben und wird für die Gesamtleistung ein einheitliches Entgelt verlangt, so<br />
handelt es sich um einen einheitlichen Kaufvertrag. Wird dagegen die Software ausdrücklich<br />
verschenkt, während die Hardware verkauft wird, so sind die Vorschriften von<br />
Kauf- und Schenkungsvertrag zu kombinieren. Entsprechendes gilt für die Einbindung<br />
der Softwareüberlassung in ein umfassendes Dienstleistungsangebot. Hier wird man die<br />
gesetzlichen Vorschriften zum Dienstleistungsvertrag mit denjenigen des Kauf- oder<br />
Schenkungsvertrags kombinieren müssen, je nach dem, ob für das Programm ein Entgelt<br />
zu leisten ist oder nicht.<br />
Die Entwicklung neuer Software kann hier nur im Überblick erläutert werden. Die<br />
Behandlung des Vertrags über die Entwicklung von Individualsoftware ist im juristischen<br />
Schrifttum gegenwärtig stark umstritten. Bis zu einer Klärung durch die Gerichte wird<br />
man damit leben müssen, dass manche von der Anwendung des Werkvertragsrechts<br />
ausgehen, während andere das Kaufvertragsrecht für maßgeblich halten. 21 Soll bestehende<br />
OSS im Auftrag einer Behörde weiterentwickelt werden, so hängt die rechtliche<br />
Beurteilung davon ab, ob die vorbestehenden Programmbestandteile bereits bei der<br />
Behörde vorhanden waren oder erst vom Auftragnehmer geliefert wurden. Im ersten Fall<br />
ist von einem isolierten Werk- bzw. Kaufvertrag über die hinzugefügten Programmbestandteile<br />
auszugehen, dagegen ist im zweiten Fall ein einheitlicher Vertrag anzunehmen.<br />
Bei Verwendung der EVB-IT bzw. BVB 22 ist im Einzelnen zu prüfen, ob die Vertragsbestimmungen<br />
im Einklang mit den jeweils maßgeblichen OSS-Lizenzen stehen. Eine unveränderte<br />
Heranziehung der Standardverträge kann mitunter problematisch sein. Dies<br />
soll an zwei Beispielen näher dargestellt werden:<br />
Die EVB-IT Überlassung Typ A und Typ B können bei der Beschaffung von Standard-<br />
Open Source Software von einem Zwischenhändler nicht ohne Weiteres benutzt werden.<br />
Die genannten Vertragswerke sehen eine Rechtseinräumung durch den Auftragnehmer<br />
(das heißt den Zwischenhändler) vor; dies kommt beim Erwerb von OSS in aller Regel<br />
aber nicht in Frage, da der Zwischenhändler keine entsprechenden Rechte innehat und<br />
deswegen auch keine Nutzungsrechte einräumen kann. Die Klauseln über die Nutzungsrechtseinräumung<br />
müssten hier also gestrichen werden, um das Formular benutzen zu<br />
können.<br />
Die BVB-Erstellung kann ohne Veränderung nur verwendet werden, wenn die Behörde<br />
eine völlige Neuentwicklung in Auftrag gibt. Für Aufträge über die Weiterentwicklung von<br />
bereits bestehender GPL-Software bedarf das Vertragsmuster dagegen gewisser Ver-<br />
21<br />
Eine aktuelle Übersicht über den Meinungsstand findet sich bei Redeker, IT-Recht (4. Aufl.<br />
2007), S. 91 f.<br />
22<br />
Abrufbar unter http:///www.kbst.bund.de/.<br />
Seite 46
änderungen: Es enthält Klauseln, die nicht mit den Vorgaben der GPL vereinbar sind<br />
und die dementsprechend gestrichen oder verändert werden müssten 23 .<br />
Der Vertrag zwischen Behörde und Dienstleister richtet sich immer dann nach deutschem<br />
Recht, wenn sowohl die Behörde als auch der Dienstleister ihren Sitz in Deutschland<br />
haben. In diesem Fall richtet sich sowohl die Wirksamkeit der Verträge als auch die vertragliche<br />
Haftung und Gewährleistung nach deutschem Recht. Hat der Dienstleister dagegen<br />
seinen Sitz im Ausland, so kann ausländisches Recht maßgeblich sein, es sei<br />
denn, die Behörde vereinbart in dem Vertrag eine Rechtswahl zugunsten des deutschen<br />
Rechts. Hierzu ist dringend zu raten. Da für dieses Vertragsverhältnis die OSS-Lizenzen<br />
ohne Bedeutung sind, sind die Parteien in der Vertragsgestaltung im Rahmen der gesetzlichen<br />
Möglichkeiten frei.<br />
Art der Leistung des Zwischenhändlers Vertragstyp<br />
Standard-OSS gegen Entgelt Kaufvertrag<br />
Standard-OSS kostenlos Schenkungsvertrag<br />
Kombination Hardware und Standard-OSS:<br />
beide gegen Entgelt oder Software kostenlos<br />
Seite 47<br />
Einheitlicher Kaufvertrag<br />
Neuentwicklung von OSS Werkvertrag (andere Auffassung: Kauf)<br />
Fortentwicklung von OSS Werkvertrag (andere Auffassung: Kauf)<br />
Tabelle 5: Vertragsverhältnisse Nutzer-Zwischenhändler<br />
4.3 Vertragsverhältnisse bei OSS: Vertrag mit Rechtsinhabern<br />
Für das bloße Ablaufenlassen des Programms durch die Behörde bedarf es nicht des<br />
Abschlusses von Lizenzverträgen; insoweit kommt es allein zu vertraglichen Verhältnissen<br />
mit dem Zwischenhändler, von dem die Behörde die Software erworben hat. Möchte<br />
die Behörde die Software jedoch in einer Weise nutzen, die über eine "bestimmungsgemäße<br />
Benutzung" im Sinne des § 69d UrhG hinausgeht, so bedarf sie hierfür<br />
der Zustimmung der Rechtsinhaber. Nur in diesem Fall sind die OSS-Lizenzen überhaupt<br />
von praktischer Bedeutung.<br />
Damit die OSS-Lizenzen rechtliche Geltung erlangen, bedarf es eines entsprechenden<br />
Vertragsschlusses, also eines Angebots und der Annahme dieses Angebots. Rechtstechnisch<br />
handelt es sich bei einem Programm, welches einer OSS-Lizenz unterstellt<br />
worden ist, um ein Angebot an jedermann auf Abschluss eines Lizenzvertrags mit dem<br />
Inhalt der jeweiligen Lizenzbedingungen (GPL o.ä.). Wer einen solchen Lizenzvertrag<br />
abschließen möchte, kann seine Annahme dadurch erklären, dass er eine Handlung<br />
vornimmt, die nach der Lizenz jedem Lizenznehmer gestattet ist, also eine Vervielfältigung,<br />
eine Verbreitung oder eine Veränderung des Programms. Der Lizenzvertrag<br />
kommt durch die bloße Vornahme dieser Handlung automatisch zustande, es bedarf<br />
23 Dies gilt insbesondere für die Nutzungsrechtsklausel in Ziffer 6 und die Regelung im Hinblick<br />
auf die Offenlegung der Quelltexte gegenüber dem Auftraggeber.
keines direkten Kontakts mit den Rechtsinhabern per E-Mail oder Ähnlichem. Das<br />
deutsche Vertragsrecht erkennt einen Vertragsschluss an, bei dem der Anbietende auf<br />
den Zugang der Annahme verzichtet 24 . Einem solchen Vertragsschluss steht auch nicht<br />
entgegen, dass die üblicherweise verwandten OSS-Lizenzen ausschließlich in englischer<br />
Sprache rechtlich bindend sind. Dies gilt nach der Entscheidung des Landgerichts<br />
München vom 19.05.2004 25 und der weit überwiegenden Zahl der juristischen Fachautoren<br />
jedenfalls dann, wenn ein Unternehmen oder eine Behörde Lizenznehmer<br />
werden möchte.<br />
Ein vertragsrechtliches Problem besteht bei OSS darin, dass die Rechtsinhaberschaft<br />
oftmals sehr unübersichtlich ist. Dies gilt für alle diejenigen OSS-Programme, die in einer<br />
weit verstreuten Entwicklergemeinschaft geschrieben worden sind. GNU/Linux ist hier<br />
das bekannteste Beispiel. Hunderte Programmierer, die weltweit verstreut sind, haben<br />
an dem Programm mitgearbeitet. Manche haben als freie Entwickler mitgewirkt und sind<br />
Inhaber der Urheberrechte an den Teilen, die sie beigesteuert haben. Andere haben als<br />
angestellte Programmierer gearbeitet. Hier sind in der Regel die Arbeitgeber Inhaber der<br />
wichtigsten Rechte 26 . Wieder andere haben ihre Rechte auf Organisationen, wie die<br />
Free Software Foundation Europe übertragen, welche die Rechte treuhänderisch wahrnehmen.<br />
27 Wer heute eine Lizenz an GNU/Linux erwirbt, schließt mit allen diesen<br />
Rechtsinhabern gleichzeitig identische Verträge mit dem Inhalt der GPL/LGPL ab. Dadurch<br />
sind die rechtlichen Verhältnisse in der Theorie kompliziert. In der Praxis ergeben<br />
sich daraus für die Nutzer jedoch keine entscheidungserheblichen Nachteile. Da die<br />
Rechtsinhaber bei einem nach den Bedingungen der GPL lizenzierten Programm alle die<br />
gleichen Vertragsbedingungen verwenden und zur gleichen Zeit den Vertrag mit dem<br />
Nutzer abschließen, macht es für diesen letztlich keinen spürbaren Unterschied, ob er<br />
den Erwerb von Nutzungsrechten an dem Programm von einem oder von mehreren<br />
Rechtsinhabern angeboten bekommt.<br />
Zudem tritt das Problem einer weit verstreuten Gemeinschaft von Rechtsinhabern nicht<br />
bei allen OSS-Programmen in gleichem Maße auf. Einige der am häufigsten genutzten<br />
Programme wurden in Unternehmen entwickelt und erst später nach den Bedingungen<br />
einer OSS-Lizenz freigegeben. Dies trifft zum Beispiel für OpenOffice.org zu. Hier liegen<br />
die Rechte an den wichtigsten Bestandteilen bei einem Unternehmen, dementsprechend<br />
sind die Vertragsverhältnisse einfacher.<br />
Im Hinblick auf das anwendbare Recht muss für die Lizenzverträge differenziert werden.<br />
Alle (Vor-)Fragen des Urheber- und Patentrechts, also insbesondere, ob entsprechende<br />
Rechte bestehen, wer Inhaber des Rechts ist, unter welchen Voraussetzungen Lizenzen<br />
eingeräumt werden können, richten sich nach deutschem Recht, sofern die jeweils in<br />
Frage stehende Nutzungshandlung (Vervielfältigung, Verbreitung, Veränderung etc.) in<br />
Deutschland stattfindet. Für die vertragsrechtlichen Fragen, insbesondere die Voraussetzungen<br />
des Vertragsschlusses, die Auslegung der Lizenzen, die vertragliche Haftung<br />
und Gewährleistung, findet dagegen deutsches Recht nur dann Anwendung, wenn die<br />
24<br />
25<br />
Vgl. § 151 BGB.<br />
Vgl. Landgericht München, Urteil vom 19.05.2004, siehe oben Fn. ■<br />
26<br />
Vgl. § 69b UrhG.<br />
27<br />
Vgl. das entsprechende Projekt der Free Software Foundation Europe unter<br />
http://www.germany.fsfeurope.org/projects/ftf/fla.de.html.<br />
Seite 48
Rechtsinhaber ihren Sitz oder gewöhnlichen Aufenthalt in Deutschland haben. Oft werden<br />
die Rechtsinhaber aber nicht in Deutschland sitzen, sondern in den USA oder einem<br />
anderen Land. Dann findet das jeweilige ausländische Recht auf die genannten Fragen<br />
Anwendung. Hier kann zumeist auch eine Rechtswahlklausel nicht weiterhelfen. Wenn<br />
die Rechte an einem Programm bei einer weltweiten Entwicklergemeinschaft liegen,<br />
dürfte es kaum möglich sein, Sondervereinbarungen jenseits der standardisierten OSS-<br />
Lizenzen zu erreichen. Liegen die Rechte hingegen bei einem Unternehmen oder einer<br />
kleineren Community, ist es ggf. möglich, eine Sondervereinbarung zum anwendbaren<br />
Recht zu erreichen. 28<br />
Vertrag mit<br />
Zwischenhändler<br />
Vertrag mit<br />
Rechtsinhabern<br />
Rechtsfrage Anwendbares Recht<br />
Zustandekommen des<br />
Vertrags<br />
Auslegung<br />
Rechtsfolgen bei Nichtleistung<br />
Vertragliche Haftung und<br />
Gewährleistung<br />
Zustandekommen des<br />
Vertrags<br />
Auslegung<br />
Rechtsfolgen bei entgegenstehenden<br />
Rechten Dritter<br />
Schutzfähigkeit des Werks<br />
bzw. der Erfindung<br />
Bestehen von Urheber- und<br />
Patentrechten<br />
Rechtsinhaberschaft<br />
Übertragbarkeit<br />
Lizenzierbarkeit<br />
Tabelle 6: Anwendbares Recht<br />
Seite 49<br />
Recht des Landes, in dem<br />
Zwischenhändler seinen Sitz<br />
hat<br />
Recht des Landes, in dem der<br />
Rechtsinhaber seinen Sitz hat<br />
Recht des Landes, für das<br />
Schutz beansprucht wird (= in<br />
dem urheber- bzw. patentrechtlich<br />
relevante Handlungen<br />
stattgefunden haben)<br />
4.4 Vergleich der Migration zu proprietärer Software und zu OSS<br />
Glaubt man den Aussagen der Anbieter von proprietärer Software, so sind die Vertragsverhältnisse<br />
bei der Nutzung proprietärer Software einfacher als bei OSS und dadurch<br />
vorteilhafter. Dies trifft aber nur in bestimmten Fallkonstellationen zu, bei anderen Sachverhaltsgestaltungen<br />
sind die Vertragsverhältnisse proprietärer Software mit Nachteilen<br />
gegenüber OSS verbunden. Es ist deswegen notwendig zu differenzieren.<br />
28 Beispielsweise MySQL bietet zwei Lizenzmöglichkeiten an. Nutzer können die Software<br />
entweder nach den Bestimmungen der GPL nutzen oder eine "Commercial license" erwerben,<br />
vgl. http://www.mysql.com/company/legal/licensing. Hier sind dann ggf. auch Rechtswahlklauseln<br />
möglich.
Bei beiden Vertriebsmodellen sind Konstellationen möglich, in denen die Behörde nur<br />
einen Vertrag mit einem Vertragspartner für die Softwareüberlassung abschließen muss.<br />
In bestimmten Fällen wird der Inhaber der Rechte an einer proprietären Software diese<br />
der Behörde auch direkt überlassen. In diesem Fall handelt es sich um einen Vertrag<br />
zwischen zwei (juristischen) Personen, in dem sowohl die Überlassung der Bits und<br />
Bytes als auch die Einräumung von Nutzungsrechten geregelt sind. 29 Dies hat den<br />
Vorteil der Übersichtlichkeit und Einfachheit. Solange die Behörde die Software nur<br />
bestimmungsgemäß benutzt, hat es allerdings auch bei OSS mit einem solchen<br />
Zweipersonenverhältnis sein Bewenden. Denn bei einer bloß bestimmungsgemäßen<br />
Benutzung von OSS durch Behörden (und damit im Regelfall) werden keine Lizenzverträge<br />
mit den Rechtsinhabern abgeschlossen.<br />
Handelt es sich dagegen um ein Dreipersonenverhältnis zwischen Nutzer, Rechtsinhaber<br />
und Zwischenhändler, so sind die rechtlichen Probleme bei proprietärer Software<br />
größer. Proprietäre Software wird nicht immer im Zweipersonenverhältnis überlassen.<br />
Gerade kleinere Behörden werden Software oft nicht direkt beim Rechtsinhaber erwerben,<br />
sondern im Einzelhandel oder über sonstige lokale Dienstleister. In diesem Fall<br />
kann es ebenfalls zu Dreipersonenverhältnissen kommen, und zwar dann, wenn der<br />
Rechtsinhaber den Abschluss eines Lizenzvertrags wünscht. Anbieter proprietärer Programme<br />
verlangen regelmäßig vom Erwerber einer Standardsoftware, dass dieser neben<br />
dem Kaufvertrag mit dem Einzelhändler ein zusätzliches "End User License Agreement"<br />
(EULA) mit dem Rechtsinhaber direkt abschließt. Dieser Lizenzvertrag soll typischerweise<br />
durch das Anwählen eines "o.k."-Buttons oder die Benutzung der Software zustande<br />
kommen. 30 Die Wirksamkeit entsprechender Verträge wird von namhaften Fachautoren<br />
mit guten Argumenten verneint. 31 Gerichtsentscheidungen liegen hierzu allerdings nicht<br />
vor. Es fehlt an entsprechenden Klagen der Rechtsinhaber gegen die Kunden auf Einhaltung<br />
der oftmals restriktiven Lizenzverträge.<br />
Demgegenüber ist der Vertrieb von OSS über Einzel- oder Zwischenhändler beziehungsweise<br />
Dienstleister weniger problematisch. Solange die Behörde die Software<br />
lediglich bestimmungsgemäß benutzt, kommt es überhaupt nicht zum Abschluss eines<br />
Lizenzvertrags mit den Rechtsinhabern. Ist aber ein Lizenzvertrag erforderlich, weil die<br />
Behörde die Rechte aus der GPL oder einer anderen OSS-Lizenz wahrnehmen möchte<br />
(etwa weil man Vervielfältigungen oder Veränderungen des Programms vornehmen<br />
möchte), so wirft das dadurch entstehende Dreipersonenverhältnis weniger rechtliche<br />
Probleme auf als im Fall der EULAs. Während die OSS-Lizenz dem Nutzer Rechte<br />
einräumt, die über die bereits nach dem Gesetz erlaubte bestimmungsgemäße<br />
Benutzung hinausgehen, beschränken EULAs diese Rechte, indem Weitergabeverbote,<br />
CPU-Klauseln und Ähnliches zulasten des Nutzers vereinbart werden. Warum aber<br />
sollte ein Nutzer, der durch den Erwerb einer rechtmäßig in Verkehr gebrachten<br />
Programmkopie bereits das Recht zur bestimmungsgemäßen Benutzung gemäß §§ 69d<br />
29<br />
Vgl. z.B. die hierauf zugeschnittenen EVB-IT Überlassung Typ A, abrufbar unter<br />
http//www.kbst.bund.de/.<br />
30<br />
Vgl. zu den heute üblichen Vertragsgestaltungen in diesem Bereich exemplarisch Marly,<br />
Softwareüberlassungverträge (4. Aufl. 2003), S. 213 ff. mit zahlreichen Beispielen aus der<br />
Vertragspraxis.<br />
31<br />
So im Ergebnis auch Marly, a.a.O., S. 225; vgl. auch Dreier/Schulze, Urheberrechtsgesetz<br />
(2. Aufl. 2006), § 69c, Rz. 33; Redeker, IT-Recht (4. Aufl. 2007), S. 170 f.<br />
Seite 50
und § 69e UrhG erworben hat, nachträglich einer Beschränkung dieser Rechte zustimmen<br />
wollen? Es ist mehr als fragwürdig, ein Anwählen des "o.k."-Buttons als Zustimmung<br />
zu werten, wenn dem Nutzer keine andere Möglichkeit offensteht, die bereits<br />
erworbene Software überhaupt verwenden zu können. Diese spezifischen Probleme der<br />
EULAs treffen auf OSS-Lizenzen nicht zu.<br />
5 Urheberrecht<br />
5.1 Einleitung<br />
Eine zweite Gruppe von rechtlichen Argumenten, die angeblich gegen den Einsatz von<br />
OSS sprechen, betrifft urheberrechtliche Fragen. So wird von Anbietern proprietärer<br />
Lösungen häufig ins Feld geführt, dass die Rechtseinräumung in den üblicherweise<br />
genutzten OSS-Lizenzen nicht mit dem deutschen Urheberrecht vereinbar sei. Auch wird<br />
auf ein erhöhtes Risiko der Verletzung von Urheberrechten Dritter beim Einsatz von OSS<br />
und daraus folgende Schadensersatzansprüche verwiesen. Die in diesem Zusammenhang<br />
genannten Rechtsfragen führen in der Praxis jedoch zu keinen nennenswerten<br />
Gefahren für die Nutzer. Im Vergleich zu üblichen Lizenzbedingungen proprietärer Software<br />
zeigt sich vielmehr, dass die Nutzung von OSS für Behörden in urheberrechtlicher<br />
Sicht von Vorteil ist.<br />
5.2 Zulässigkeit von OSS-Lizenzen nach deutschem Urheberrecht<br />
Sofern es für eine Behörde notwendig ist, eine OSS-Lizenz abzuschließen, stellt sich die<br />
Frage nach der urheberrechtlichen Zulässigkeit der in den Lizenzen geregelten Rechte<br />
und Pflichten. Dies ist von Bedeutung für die Planungssicherheit im Hinblick auf die<br />
erworbenen Rechte und die damit einhergehenden Pflichten.<br />
Will man die Fülle der hierzu erschienenen Fachveröffentlichungen in einem Satz<br />
zusammenfassen, so könnte man festhalten, dass die GPL und die anderen weitverbreiteten<br />
OSS-Lizenzen im Grundsatz mit dem deutschen Urheberrecht vereinbar sind.<br />
Dies ist auch das Ergebnis der bereits erwähnten Entscheidungen der Landgerichte<br />
München und Frankfurt am Main, welche die zentralen Bestimmungen der GPL (Ziffern<br />
2, 3 und 4) für urheberrechtlich unbedenklich erklärt haben. 32 Die in der Fachliteratur<br />
geäußerten rechtlichen Bedenken gegen einzelne Klauseln der OSS-Lizenzen haben<br />
bislang ebenfalls nicht zu gerichtlichen Auseinandersetzungen oder sonstigen<br />
Problemen in der Praxis geführt. Sie sollen hier gleichwohl behandelt werden, um<br />
etwaige Befürchtungen von Behörden auszuräumen.<br />
Als ein erstes Problem wird oftmals darauf hingewiesen, dass es nach deutschem<br />
Urheberrecht wegen § 31 Abs. 4 UrhG (a.F.) nicht möglich sei, für Nutzungsarten Rechte<br />
einzuräumen, die zum Zeitpunkt des Vertragsschlusses noch nicht bekannt gewesen<br />
sind. Würde man auf den Zeitpunkt der ersten Lizenzierung durch den Rechtsinhaber<br />
abstellen, so die Argumentation, so wäre es etwa für den Linux-Kernel durchaus fraglich,<br />
ob auch solche Nutzungsarten umfasst sind, die erst Ende der 90er Jahre in ihrer<br />
32 Vgl. Landgericht München, Urteil vom 19.05.2004, oben Fn. ■; LG Frankfurt a.M., Urteil<br />
v. 06.09.2006, oben Fn. ■; LG München, Urteil v. 12.07.2007, oben Fn. ■.<br />
Seite 51
wirtschaftlichen Bedeutung bekannt geworden sind. 33 Als Beispiel wird hier das<br />
sogenannte Application Service Providing genannt. Dieses Problem hat in der<br />
Vergangenheit zu keinen erkennbaren Problemen in der Praxis geführt. Es wurde zudem<br />
durch die zum 01.01.2008 in Kraft getretene Urheberrechtsnovelle für die Zukunft gelöst.<br />
Gemäß § 31a Abs. 1 S. 2 UrhG können in OSS-Lizenzen künftig auch Nutzungsrechte<br />
an unbekannten Nutzungsarten eingeräumt werden, ohne dass es der Einhaltung der<br />
Schriftform wie sonst nach § 31a UrhG vorgesehen bedürfte. Für die Einräumung<br />
entsprechender Nutzungsrechte ist auch nicht die Zahlung einer besonderen Vergütung<br />
geschuldet, da der Gesetzgeber in § 32c Abs. 3 S. 3 UrhG insoweit eine Ausnahmevorschrift<br />
für OSS-Lizenzen geschaffen hat.<br />
Als zweiter Problembereich wird auf den Erschöpfungsgrundsatz aus § 69c Nr. 3 Satz 2<br />
UrhG verwiesen. 34 Die Frage der Erschöpfung des Verbreitungsrechts ist aus Sicht der<br />
Behörde als Nutzer jedoch irrelevant. Die OSS-Lizenzen verbieten die Weitergabe einer<br />
einmal rechtmäßig in den Verkehr gebrachten Programmkopie nicht, auch werden keine<br />
Bedingungen an die Weitergabe dieser Programmkopie geknüpft.<br />
Genannt werden schließlich die Urheberpersönlichkeitsrechte der Softwareentwickler. 35<br />
Gemäß §§ 69a Abs. 4, 14 UrhG kann sich der Urheber eines Computerprogramms<br />
gegen Entstellungen oder Beeinträchtigungen seines Werkes zur Wehr setzen, sofern<br />
diese geeignet sind, seine persönlichen oder geistigen Interessen zu verletzten. Dieses<br />
Verbotsrecht steht im Konflikt zur Veränderungsfreiheit, welche die OSS-Lizenzen jedem<br />
Nutzer einräumt. Bei Veränderungen eines Computerprogramms dürften Verletzungen<br />
des Urheberpersönlichkeitsrechts allerdings nur in Ausnahmefällen gegeben sein. Auch<br />
dieses Problem hat bislang in der Praxis zu keinen bekannt gewordenen Konflikten<br />
zwischen Rechtsinhabern und Nutzern von OSS geführt.<br />
5.3 Umfang der Rechtseinräumung bei OSS-Lizenzen<br />
Die genannten theoretischen Probleme bei der Einräumung von Nutzungsrechten durch<br />
OSS Lizenzen sollten nicht den Blick darauf verstellen, dass die Rechtseinräumung<br />
durch OSS Lizenzen für den Nutzer mit erheblichen praktischen Vorteilen verbunden ist.<br />
Diese können für die Migrationsentscheidung von Behörden bedeutsam sein. Ist für eine<br />
Behörde eine Nutzung von Software notwendig oder wünschenswert, die über eine bloß<br />
bestimmungsgemäße Benutzung hinausgeht, so ist dies bei OSS ohne Weiteres möglich.<br />
Eine Lizenz entspricht nur dann den Kriterien der Open Source Definitionen 36 und<br />
der Free Software Definition 37 , wenn sie dem Nutzer umfangreiche "Freiheiten" im Umgang<br />
mit dem Programm einräumt, insbesondere das Programm in veränderter oder<br />
unveränderter Form vervielfältigen und verbreiten zu können.<br />
Rechtstechnisch handelt es sich hierbei um die Einräumung einfacher, urheberrechtlicher<br />
Nutzungsrechte gemäß § 31 Abs. 2 UrhG. Dieser umfassende Rechtserwerb geht<br />
denkbar einfach vonstatten. Wer die Rechte aus den Lizenzen wahrnehmen möchte,<br />
33 Vgl. etwa Spindler, Rechtsfragen bei Open Source (2004), S. 75 ff.<br />
34 Vgl. Spindler, Rechtsfragen bei Open Source (2004), S. 91 ff.<br />
35 Vgl. hierzu exemplarisch Teupen, "Copyleft" im deutschen Urheberrecht (2007), S. 192.<br />
36 Abrufbar unter http://opensource.org/docs/osd.<br />
37 Abrufbar unter http://www.gnu.org/philosophy/free-sw.html.<br />
Seite 52
kann dies ohne Weiteres tun, solange er auch die Verpflichtungen einhält, die die<br />
jeweilige Lizenz mit sich bringt. Die Einräumung der Nutzungsrechte erfolgt kostenfrei.<br />
Einige Autoren weisen darauf hin, dass die Einräumung des Rechts für den unkörperlichen<br />
Vertrieb, insbesondere das Bereithalten zum Download im Internet, bei einigen<br />
der wichtigsten OSS-Lizenzen zweifelhaft sei. 38 Die GPL <strong>Version</strong> 2 und die BSD Lizenz<br />
räumen zwar ausdrücklich das Recht ein, das Programm in körperlicher Form zu verbreiten<br />
("distribute"), erwähnen aber den unkörperlichen Vertrieb nicht explizit. Verwiesen<br />
wird in diesem Zusammenhang auch auf § 31 Abs. 4 UrhG a.F.; es sei zu fragen, ab<br />
welchem Zeitpunkt der Vertrieb in Datennetzen in seiner wirtschaftlichen Bedeutung<br />
bekannt gewesen sei. 39<br />
Dem ist entgegenzuhalten, dass in der US-amerikanischen Terminologie das Wort "distribute"<br />
auch den unkörperlichen Vertrieb umfasst. Oft wird ohnehin für die Auslegung<br />
eines der 50 US-amerikanischen Vertragsrechte maßgeblich sein, weil der Lizenzgeber<br />
in den USA sitzt. In den Fällen, in denen eine Auslegung nach deutschem Recht vorzunehmen<br />
ist, muss berücksichtigt werden, dass die genannten OSS-Lizenzen in ihrer<br />
Terminologie auf das US-amerikanische Recht Bezug nehmen. Dessen Begriffe sind<br />
deswegen auch bei Anwendung des deutschen Rechts zu berücksichtigen. 40 Schließlich<br />
ist auf den letzten Absatz von Ziffer 3 GPL <strong>Version</strong> 2 hinzuweisen. Dort heißt es: "If distribution<br />
of executable or object code is made by offering access to copy from a designated<br />
place [...]; mit "designated place" kann in diesem Zusammenhang nur eine Internetadresse<br />
gemeint sein, von der das Programm abgerufen werden kann. Dies spricht<br />
ebenfalls für eine Einbeziehung des unkörperlichen Vertriebs. Im Hinblick auf § 31 Abs.<br />
4 UrhG kann auf das oben Ausgeführte verwiesen werden. Im Ergebnis ist deswegen<br />
davon auszugehen, dass auch der Vertrieb in Datennetzen wie dem Internet nach der<br />
GPL <strong>Version</strong> 2 und der BSD-Lizenz gestattet ist.<br />
Die GPL <strong>Version</strong> 3 sieht in Ziffer 2 nunmehr auch ausdrücklich die Erlaubnis zum<br />
Onlinevertrieb vor. Der dort verwendete Begriff „propagate― umfasst nach der Definition<br />
in Ziffer 0 der Lizenz auch das Recht der öffentlichen Zugänglichmachung. 41 Das<br />
Problem wird sich deshalb in Zukunft ohnehin weiter entschärfen, weil bereits heute<br />
zahlreiche OSS-Programme nach den Bedingungen der GPL <strong>Version</strong> 3 genutzt werden<br />
können und zudem mit dem Übergang weiterer Projekte auf die neue Lizenz zu rechnen<br />
ist.<br />
5.4 Entgegenstehende Urheberrechte Dritter<br />
Eine verbreitete Befürchtung beim Einsatz von OSS betrifft entgegenstehende Urheberrechte<br />
Dritter. Sind die Nutzer von OSS einer erhöhten Gefahr von Schadensersatz- und<br />
Unterlassungsansprüchen ausgesetzt? Ein Praxisbeispiel bietet hier der seit Jahren aus-<br />
38<br />
Vgl. insbesondere Spindler, a.a.O., 82.<br />
39<br />
Vgl. insbesondere Spindler, a.a.O., 82.<br />
40<br />
Vgl. Metzger, in: Hilty/Peukert, Interessenausgleich im Urheberrecht (2004), 253, 260 mit<br />
weiteren Nachweisen.<br />
41<br />
Siehe hierzu Jaeger/Metzger, Die neue <strong>Version</strong> 3 der GNU General Public License, Gewerblicher<br />
Rechtsschutz und Urheberrecht 2008, 130, 134.<br />
Seite 53
gefochtene Rechtsstreit zwischen SCO und IBM 42 . SCO beschuldigt IBM, Bestandteile<br />
von Programmen, an denen SCO behauptet die Rechte innezuhaben, ohne die erforderliche<br />
Erlaubnis in Linux integriert und damit Geschäftsgeheimnisse, Verträge sowie die<br />
Urheberrechte an den fraglichen Modulen verletzt zu haben. 43 Es soll hier nicht um die<br />
Details dieses Rechtsstreits gehen. Dieser dient nur als Illustration der folgenden Frage:<br />
Welche Risiken hat eine Behörde zu befürchten, wenn sich im Nachhinein herausstellt,<br />
dass an genutzter OSS Rechte Dritter bestehen?<br />
Für die Beantwortung sind zwei Situationen zu unterscheiden. Es macht einen Unterschied,<br />
ob die Behörde die Software (1.) vervielfältigt, verbreitet oder verändert oder (2.)<br />
ob sie sie nur bestimmungsgemäß benutzt hat.<br />
Im ersten Fall liegt es auf der Hand, dass eine entsprechende Nutzung nur urheberrechtlich<br />
zulässig ist, wenn der Rechtsinhaber hierfür die entsprechenden Rechte eingeräumt<br />
hat, insbesondere das Programm oder die Programmteile, an denen er die Rechte<br />
hält, einer OSS-Lizenz unterstellt hat. Stellt sich im Nachhinein heraus, dass der<br />
vermeintliche Lizenzgeber nicht Inhaber der Rechte an dem gesamten Programm ist, so<br />
kann der Behörde die weitere Verbreitung des Gesamtprogramms für die Zukunft<br />
untersagt werden. Für die Vergangenheit können Schadensersatzforderungen geltend<br />
gemacht werden, sofern die Behörde ein Verschulden trifft. 44 Wer urheberrechtlich<br />
geschützte Güter nutzt, muss sich über die hierfür erforderlichen Rechte Gewissheit<br />
verschaffen, um nicht seine Sorgfaltspflichten zu verletzen. Handelt es sich bei den<br />
fraglichen Programmen um bekannte OSS-Programme oder Module, die seit längerer<br />
Zeit ohne Beanstandung frei verfügbar sind und die zudem eine weite Verbreitung gefunden<br />
haben, etwa durch die Aufnahme in einen offiziellen Release eines der großen<br />
Distributoren, so sollte eine Behörde in der Regel darauf vertrauen dürfen, dass die<br />
vermeintlichen Lizenzgeber die Rechte an den Programmen innehaben. Bei weniger<br />
weitverbreiteten, erst für kürzere Zeit als OSS erhältlichen Programmen kann dagegen<br />
auch eine aktive Überprüfung der Rechtsinhaberschaft, insbesondere durch Erkundigung<br />
bei den vermeintlichen Rechtsinhabern und Anbietern ähnlicher, proprietärer<br />
Konkurrenzprodukte anzuraten sein. Unterlassungs- als auch Schadensersatzansprüche<br />
beziehen sich dabei stets nur auf den Teil des Programms, für den entgegenstehende<br />
Rechte Dritter bestehen. Das heißt, die anderen Programmteile, die nicht mit Rechten<br />
Dritter belastet sind, dürfen weiter verbreitet werden.<br />
Im zweiten Fall ist die Rechtslage etwas komplizierter. Hier kann es so sein, dass der<br />
Zwischenhändler, von dem die Behörde das Programm erhalten hat, dieses nicht vertreiben<br />
durfte, da die OSS-Lizenz ihm hierfür nicht die erforderlichen Rechte vermittelt<br />
hat. Dies führt dazu, dass sich die Behörde nicht auf § 69d Abs.1 UrhG berufen kann, da<br />
ihre Programmkopie nicht rechtmäßig in den Verkehr gelangt ist.<br />
Auf den ersten Blick scheint als Ergebnis festzustehen, dass sie das gesamte Programm<br />
nicht mehr benutzen darf; schließlich ist das Programm nicht rechtmäßig in Verkehr<br />
42<br />
Siehe den Text der 06.03.2003 in Salt Lake City erhobenen Klage unter<br />
http://www.sco.com/scoip/lawsuits/ibm/<br />
43<br />
Siehe zum Prozessverlauf die zahlreichen unter http://www.groklaw.net abrufbaren Prozessdokumente.<br />
44<br />
Zur Berechnung des Schadensersatzes vergleiche Schricker-Wild, Urheberrecht (2. Aufl.<br />
1999), § 97, Rz. 56 ff.<br />
Seite 54
gebracht worden. Dieser erste Anschein trügt aber. Es wurde bereits darauf<br />
hingewiesen, dass manche OSS-Lizenzen, etwa die BSD-Lizenz, dem Nutzer auch das<br />
Recht einräumen, die Software einfach nur zu benutzen, das heißt, bestimmungsgemäß<br />
ablaufen zu lassen. Diese Klauseln erlangen Bedeutung, wenn sich der Nutzer nicht auf<br />
die gesetzliche Lizenz des § 69d Abs. 1 UrhG berufen kann, weil es hierfür an den<br />
Voraussetzungen fehlt. Auch die GPL, welche an sich ja die einfache Benutzung aus<br />
ihrem Anwendungsbereich ausklammert, hält für diese Situation ein Hilfsmittel<br />
zugunsten der Nutzer bereit. Ziffer 7 GPL <strong>Version</strong> 2 und Ziffer 12 GPL <strong>Version</strong> 3 verbieten<br />
den Vertrieb eines Programms unter der GPL, wenn dieses durch ein<br />
Gerichtsurteil oder auf andere Weise untersagt worden ist. In diesem Fall sollen gemäß<br />
Ziffer 4 GPL <strong>Version</strong> 2 und Ziffer 8 GPL <strong>Version</strong> 3 aber nur die Rechte des Lizenznehmers<br />
entfallen. Rechtspositionen Dritter, die vom Lizenznehmer Programmkopien<br />
erhalten haben, sollen hingegen fortbestehen, solange der Dritte die Bestimmungen der<br />
Lizenz einhält.<br />
Freilich kann das nur für die Programmteile gelten, an denen die Lizenzgeber auch tatsächlich<br />
die Rechte innehaben. Diese Programmteile dürfen weiter benutzt werden. Für<br />
die Teile des Programms, auf denen Rechte Dritter lasten, können gegen die Behörde<br />
unter den oben genannten Voraussetzungen Unterlassungs- und Schadensersatzansprüche<br />
geltend gemacht werden.<br />
Man stelle sich etwa folgenden Beispielfall vor. Ein Entwicklungsprojekt stellt eine<br />
umfangreiche Datenbanksoftware unter die GPL und verbreitet das Programm. Die<br />
Behörde A lädt sich die Software herunter, modifiziert sie für die besonderen Anforderungen<br />
von Behörden und vertreibt sie an die Behörden B, C und D. Stellt sich im<br />
Nachhinein heraus, dass einer der Programmierer des Projekts unsauber gearbeitet und<br />
einzelne Teile des Programms in urheberrechtlich unzulässiger Weise übernommen hat,<br />
so kann der Inhaber der Rechte an diesen Programmteilen grundsätzlich nur die<br />
Verbreitung und Benutzung dieser Programmteile untersagen. Daraus folgt, dass A die<br />
Verbreitung dieser Programmteile untersagt werden kann, nicht aber die Verbreitung der<br />
sonstigen Programmteile. Lässt sich der problematische Bestandteil ersetzen, so kann<br />
das auf diese Weise bereinigte Gesamtprogramm weiter verbreitet werden. B, C, und D<br />
kann ebenfalls nur die Benutzung der Programmteile untersagt werden, an denen<br />
Rechte Dritter bestehen. Können diese ersetzt oder gelöscht werden, etwa weil der<br />
jeweilige Benutzer diese Programmbestandteile gar nicht benötigt, so darf das Restprogramm<br />
weiterhin benutzt werden.<br />
Wo sich eine Behörde aufgrund entgegenstehender Rechte Dritter entsprechenden<br />
Ansprüchen ausgesetzt sieht, ist jeweils zu fragen, ob sie ihrerseits Ansprüche gegen<br />
ihre Vertragspartner geltend machen kann. Dies ist eine Frage der Gewährleistung<br />
(siehe auch I.B 7).<br />
5.5 Vergleich der Migration zu proprietärer Software und zu OSS<br />
Im Hinblick auf die urheberrechtlichen Fragestellungen ergeben sich aus der Sicht einer<br />
Behörde als Nutzer eine Reihe relevanter Unterschiede zwischen einer Migration zu<br />
proprietärer Software und einer Migration zu OSS.<br />
Seite 55
Hierbei ist zunächst festzustellen, dass die unter I.B 5 thematisierten rechtlichen Probleme<br />
der OSS-Lizenzen, soweit diese praktisch überhaupt relevant werden, auch bei<br />
proprietären Lizenzmodellen auftreten können. Es handelt sich hier nicht um spezifische<br />
Rechtsfragen der OSS. Vielmehr können entsprechende rechtliche Probleme sowohl bei<br />
OSS als auch bei proprietärer Software auftreten.<br />
Erhebliche Vorteile von OSS gegenüber proprietären Konkurrenzprodukten sind im<br />
Hinblick auf den Umfang der Rechtseinräumung festzuhalten. OSS-Lizenzen erlauben<br />
den Behörden eine denkbar umfassende Nutzung der Programme, der Erwerb dieser<br />
Rechte ist kostenfrei und in der Abwicklung denkbar einfach. Demgegenüber gestatten<br />
proprietäre Softwarelizenzen in der Regel nur eine bestimmungsgemäße Benutzung der<br />
Software. Hinzu kommen die mannigfaltigen Verwendungs- und Weitergabebeschränkungen<br />
in üblichen Softwarelizenzen, die den ohnehin geringen Spielraum der<br />
Nutzer zusätzlich einengen. Benötigt der Nutzer zusätzliche Rechte, etwa weil er die<br />
Software verändern oder in weiterem Umfang einsetzen möchte, so muss er in aller<br />
Regel eine erhöhte Lizenzgebühr hinnehmen. Entsprechende Vertragsgestaltungen sind<br />
üblich und oft auch rechtlich wirksam, etwa die Erhöhung der Lizenzgebühren bei der<br />
Verwendung von Software auf einer leistungsstärkeren Hardware. 45<br />
Für die unter I.B 5.4 genannten Unterlassungs- und Schadensersatzansprüche können<br />
sich dagegen gewisse Vorteile für eine Migration zu proprietärer Software ergeben. Es<br />
ist zwar festzuhalten, dass eine Behörde als Softwarenutzer nie absolut sicher sein<br />
kann, dass der weiteren Nutzung eines Programms keine Rechte Dritter entgegenstehen.<br />
Entsprechende Probleme sind allerdings umso weniger wahrscheinlich, je<br />
seriöser und transparenter die Herkunft eines Programms ist. OSS wird hier mitunter mit<br />
Nachteilen behaftet sein, wenn die Herkunft eines Programms nicht oder nur mit<br />
erheblichem Aufwand geklärt werden kann, während das konkurrierende, proprietäre<br />
Produkt eindeutig zuzuordnen ist. Hier zeigen sich die Nachteile der dezentralen Entwicklung<br />
im Rahmen von mitunter weltweit verstreuten Communities. Freilich ist auch die<br />
umgekehrte Situation denkbar, in der die Herkunft eines proprietären Programms<br />
weniger transparent ist als diejenige der konkurrierenden OSS; dies gilt umso mehr, als<br />
die Behörde bei OSS in jedem Fall den Quellcode untersuchen und dadurch Hinweise<br />
auf die Herkunft des Programms erhalten kann. Man muss hier also die jeweils in<br />
Konkurrenz stehenden Produkte im Einzelfall vergleichen. Zu berücksichtigen ist bei der<br />
Evaluierung der Migration zu proprietärer Software durchaus auch, welche diesbezüglichen<br />
Erfahrungen die Behörde mit den jeweiligen Anbietern in der Vergangenheit<br />
gemacht hat.<br />
Urheberrechtliche Zulässigkeit<br />
einzelner Lizenzklauseln<br />
Migration zu OSS Migration zu proprietärer<br />
Software<br />
Aus der Sicht der Nutzer keine<br />
praktisch relevanten Rechtsprobleme<br />
Seite 56<br />
Bei entsprechender Vertragsgestaltung<br />
keine praktisch<br />
relevanten Rechtsprobleme<br />
45 Siehe hierzu Bundesgerichtshof, Urteil vom 24.10.2002, Neue Juristische Wochenschrift<br />
2003, 2014.
Umfang der Rechtseinräumungen<br />
Risiko entgegenstehender<br />
Rechte Dritter<br />
6 Patentrecht<br />
6.1 Einleitung<br />
Migration zu OSS Migration zu proprietärer<br />
Software<br />
Sehr weitgehend Oft restriktiv<br />
Erhöht bei unklarer Herkunft,<br />
geringer bei seriösen Projekten<br />
Tabelle 7 Urheberrechtliche Fragen:<br />
Seite 57<br />
Erhöht bei unklarer Herkunft,<br />
geringer bei seriösen Anbietern<br />
Die Fragen des Patentrechts haben in der Diskussion der letzten Jahre um die Rechtssicherheit<br />
von OSS breiten Raum eingenommen. Die Angst vor rechtlichen Risiken<br />
durch Patente wird dabei sowohl von den konkurrierenden Anbietern proprietärer<br />
Produkte geschürt als auch von den OSS-Projekten selbst, die regelmäßig auf die rechtlichen<br />
Gefahren durch Softwarepatente hinweisen, zuletzt an prominenter Stelle in der<br />
Präambel der GPL <strong>Version</strong> 3. Bei näherer Betrachtung sind die rechtlichen Risiken bei<br />
der Nutzung von OSS jedoch beherrschbar. Im Folgenden sollen die vielfach diskutierten<br />
rechtspolitischen Fragen ausdrücklich ausgeklammert werden. Der <strong>Migrationsleitfaden</strong><br />
konzentriert sich auf den juristischen Status quo aus der Perspektive einer Behörde als<br />
Nutzer. Versucht man diesen zu beschreiben, so ist zunächst darauf hinzuweisen, dass<br />
allein das europäische Patentamt seit 1993 über 30.000 Patente für programmbezogene<br />
Erfindungen in allen Technikbereichen erteilt hat, zu denen auch Erfindungen zum Beispiel<br />
im Automobilbau, im Maschinenbau und in der Mess- und Regeltechnik gehören,<br />
weil bei ihnen Computerprogramme eingesetzt werden. Hinzu kommen die vom Deutschen<br />
Patent- und Markenamt in diesem Bereich erteilten Patente. Dadurch ist es<br />
bereits heute möglich, ein realistisches Bild von den rechtlichen Problemen zu gewinnen,<br />
welche sich für die Nutzer von OSS durch Patente in den verschiedenen Bereichen der<br />
Informationstechnologie ergeben können, unabhängig von der im Juli 2005 gescheiterten<br />
europäischen "Richtlinie über die Patentierbarkeit computerimplementierter Erfindungen".<br />
46 Es liegt allerdings in der Natur der Sache, dass die im Folgenden dargestellten<br />
rechtlichen Probleme mit einer wachsenden Zahl von Patenten in zunehmendem<br />
Maße auftreten dürften. Ein Beispiel aus der Vergangenheit für ein Migrationsprojekt<br />
eines öffentlichen Trägers, welches wegen patentrechtlicher Fragestellungen vorübergehend<br />
gestoppt wurde, hat das "Limux"-Projekt der Stadt München geboten. 47 Ein von<br />
der Stadt München in Auftrag gegebenes Kurzgutachten kam dabei zu dem Ergebnis,<br />
dass "das Risiko einer Verstrickung der Stadt München in einen Patentverletzungs-<br />
46 Vgl. zu den Entwürfen der Europäischen Kommission, des Rats und des Europäischen<br />
Parlaments im Einzelnen Metzger, Softwarepatente im künftigen europäischen Patentrecht,<br />
Computer und Recht 2003, 313 und Metzger, EP: Eindämmung der Softwarepatente verabschiedet,<br />
Computer und Recht 2003, 871.<br />
47 Siehe http://www.muenchen.de/limux.
prozess nach der bestehenden Rechtslage als gering einzustufen" sei. 48 Die Stadt hat<br />
das Projekt daraufhin fortgesetzt. Patentrechtliche Verletzungsverfahren gegen Nutzer<br />
von OSS wegen dieser Nutzung sind bisher nicht bekannt geworden.<br />
6.2 Entgegenstehende Patentrechte Dritter bei Nutzung von OSS<br />
Patentrechtliche Probleme könnten sich vor allem dann für Behörden als Nutzer von<br />
OSS ergeben, wenn Dritte Inhaber von Patenten sind, die durch die Nutzung von Software<br />
verletzt werden.<br />
Ob eine Patentverletzung vorliegt, ist gemäß § 9 PatG zu bestimmen. Man wird sowohl<br />
bei einem sogenannten Erzeugnispatent gemäß § 9 Nr. 1 PatG (Verbindung von Hard-<br />
und Software; programmgesteuerte Maschinen etc.) als auch bei einem Verfahrenspatent<br />
gemäß § 9 Nr. 2 PatG (in Software umgesetzte Lehren zum technischen Handeln,<br />
zum Beispiel ein programmgesteuertes Messverfahren) davon auszugehen haben, dass<br />
bereits die bloße bestimmungsgemäße Benutzung einer geschützten Software eine<br />
Verletzung dieses Patents darstellen kann. Für das Erzeugnispatent kann es sich bei der<br />
Benutzung eines Programms um ein "Gebrauchen" im Sinne von § 9 Nr. 1 PatG<br />
handeln. Wenn etwa in einer Behörde eine patentrechtlich geschützte Maschine benutzt<br />
wird, so liegt eine Patentverletzung vor. Einschränkungen sind hier nur denkbar, wenn<br />
lediglich ein Teil der von der Behörde genutzten Vorrichtung patentrechtlich geschützt<br />
ist. Hier kommt es darauf an, ob der geschützte Teil für das Ganze wesentlich ist. Bei<br />
einem Verfahrenspatent kann die bloße Benutzung von Software eine "Anwendung" des<br />
geschützten Verfahrens im Sinne von § 9 Nr. 2 PatG und damit eine Patentverletzung<br />
darstellen.<br />
Als Patentverletzung ist in beiden Fällen auch der Vertrieb des Programms anzusehen<br />
("Inverkehrbringen" oder "Anbieten").<br />
Liegt eine Patentverletzung vor, so können gegen die Behörde Unterlassungs- und<br />
Schadensersatzansprüche geltend gemacht werden. Schadensersatz ist auch im Patentrecht<br />
nur unter der Voraussetzung zu leisten, dass die Behörde ein Verschulden trifft,<br />
wobei leichte Fahrlässigkeit ausreichen kann. Die Gerichte legen gerade bei Unternehmen<br />
hierbei einen strengen Maßstab an. Es wird im Grundsatz erwartet, dass man sich<br />
über bestehende Schutzrechte informiert. Gewisse Milderungen sind allerdings in den<br />
Fällen möglich, in denen ein Unternehmen das Programm wie ein Endabnehmer nutzt,<br />
ohne genauere Fachkenntnis zu haben. 49 Diese Grundsätze wird man auch bei<br />
Behörden anzuwenden haben. Behörden dürfen sich beim Einsatz von Programmen, die<br />
sie von professionellen Distributoren oder Dienstleistungsunternehmen erworben haben<br />
und die sie als Endabnehmer selbst nutzen, in der Regel darauf verlassen, dass der<br />
Anbieter bei der Zusammenstellung der Programme die Schutzrechtslage geprüft und<br />
beachtet hat. Besondere Prüfpflichten seitens der Behörde bestehen dann nicht. In<br />
diesen Fällen dürfte es auch nur selten zu einer Inanspruchnahme der Behörde<br />
kommen, da sich die Schutzrechtsinhaber hier zunächst an den Anbieter halten werden.<br />
48 Vgl. das Kurzgutachten von Sedlmaier/Gigerich vom 10.09.2004, abrufbar unter<br />
http://www.jurpc.de/aufsatz/20050010.htm<br />
49 Vgl. Kraßer, Patenrecht (5. Aufl. 2004), S. 876; Benkard, Patentgesetz (10. Aufl. 2006), §<br />
139, Rz. 47.<br />
Seite 58
Bei konkreten Hinweisen auf bestehende Patente kann jedoch erhöhte Aufmerksamkeit<br />
auch seitens der Behörde gefordert sein. Erhöhte Sorgfaltspflichten können sich zudem<br />
ergeben, wenn die Behörde besondere Sachkenntnis in dem spezifischen Bereich der<br />
Informationstechnik hat oder wenn sie das Programm in großem Umfang verbreitet. Bei<br />
der Feststellung des Verschuldens kommt es letztlich immer auf die Umstände des<br />
Einzelfalls an, sodass die genannten Kriterien nur als grobe Richtschnur herangezogen<br />
werden können.<br />
Bei entgegenstehenden Patentrechten Dritter bleibt schließlich stets zu fragen, welche<br />
Ansprüche die Behörde ihrerseits gegen die eigenen Lieferanten geltend machen kann.<br />
Dies ist eine Frage der vertraglichen Gewährleistung.<br />
6.3 Vergleich der Migration zu proprietärer Software und zu OSS<br />
Die oben ausgeführten Rechtsprobleme, die sich bei der Nutzung von OSS aufgrund<br />
entgegenstehender Rechte Dritter ergeben können, sind keineswegs spezifisch für diese<br />
Entwicklungs- und Vertriebsform. Entsprechende Probleme können genauso bei proprietären<br />
Konkurrenzprodukten auftreten.<br />
Im Hinblick auf patentrechtliche Ansprüche kann auch nicht für eine Migration zu proprietärer<br />
Software auf das Argument der größeren Transparenz der Herkunft der einzelnen<br />
Softwarebestandteile verwiesen werden. Auch wenn im Einzelnen dokumentiert ist, wer<br />
welchen Part eines Programms geschrieben hat und dass die entsprechenden Rechte<br />
erworben worden sind, so kann daraus nicht gefolgert werden, inwieweit Patente Dritter<br />
berührt werden. Da das Patent die zugrunde liegenden technischen Lösungen schützt<br />
und nicht die konkrete Form der Programmierung, genügt es mit Blick auf etwaige Patentrechte<br />
nicht, alle Rechte der jeweiligen Programmierer erworben zu haben. Um wirkliche<br />
Rechtssicherheit zu erreichen, bedarf es einer Patentrecherche und gegebenenfalls<br />
den Erwerb von Patentlizenzen Dritter. In patentrechtlicher Hinsicht ergeben sich dabei<br />
für beide Migrationswege im Grundsatz die gleichen rechtlichen Risiken.<br />
7 Haftung und Gewährleistung<br />
7.1 Einleitung<br />
Einer der wesentlichen Punkte in der Bewertung der unterschiedlichen Risiken einer<br />
Migration zu proprietärer Software oder zu OSS ist die Frage nach dem Umfang der<br />
jeweiligen Haftung und Gewährleistung. Dieser ergibt sich im Einzelfall erst in der<br />
Zusammenschau von gesetzlichen Regeln und den konkret getroffenen vertraglichen<br />
Vereinbarungen. Die pauschale Aussage, bei OSS gebe es keine Haftung und Gewährleistung,<br />
weil die Software kostenlos erhältlich sei, während bei proprietärer Software die<br />
volle Absicherung durch den Vertragspartner geschuldet sei, gibt die Rechtslage nicht<br />
zutreffend wieder. Bei entsprechender Vertragsgestaltung bestehen für Behörden keine<br />
erheblichen Unterschiede zwischen dem Einsatz von OSS oder proprietärer Software.<br />
Zunächst gilt es allerdings die verschiedenen Ansprüche und Anspruchsgegner auseinanderzuhalten.<br />
Unter Gewährleistung versteht man das Einstehen müssen für die<br />
Vertragsgemäßheit des Programms. Der Begriff der Haftung beschreibt zunächst das<br />
vertragliche Einstehen müssen für Schäden, die sich beim Vertragspartner an sonstigen<br />
Seite 59
Rechtsgütern ergeben, etwa Schäden an Hardware oder anderer Software (vertragliche<br />
Haftung). Mit Haftung bezeichnet man darüber hinaus auch jedes sonstige außervertragliche<br />
Einstehen müssen für Schäden (außervertragliche Haftung).<br />
Die Haftung und Gewährleistung kann, abhängig von der Ausgestaltung der jeweiligen<br />
vertraglichen Beziehungen, unterschiedlichen gesetzlichen Maßstäben unterliegen. So<br />
gelten insbesondere bei unentgeltlichen Verträgen vielfach weitreichende Gewährleistungs-<br />
und Haftungserleichterungen, während bei der entgeltlichen Softwareüberlassung<br />
voll gehaftet wird. Von den gesetzlichen Regelungen können die Vertragsparteien innerhalb<br />
bestimmter gesetzlicher Grenzen abweichen und einen schärferen oder milderen<br />
Haftungs- und Gewährleistungsmaßstab vertraglich vereinbaren. Behörden sollten darauf<br />
bedacht sein, dass die Haftung und Gewährleistung nicht zu ihrem Nachteil ausgeschlossen<br />
wird. Werden diese Vereinbarungen nicht wirksam getroffen, etwa weil man<br />
sich außerhalb des gesetzlich zulässigen Rahmens befindet, gilt wiederum der gesetzliche<br />
Haftungsmaßstab. Gesetzlich zulässig und in der Praxis verbreitet ist die Vereinbarung<br />
einer zusätzlichen vertraglichen Haftung. Distributoren von OSS bieten vielfach die<br />
vertragliche Übernahme des Haftungsrisikos ihrer Kunden gegenüber Ansprüchen Dritter<br />
an („Indemnification Program―, „Assurance Program― o.ä.)<br />
Für die Behörde kommen bei der Migration zu OSS unterschiedliche vertragliche<br />
Haftungs- und Gewährleistungsschuldner in Betracht. Einerseits können Ansprüche<br />
gegenüber dem Distributor oder sonstigen Lieferanten der Software bestehen. Andererseits<br />
können dort, wo die Behörde eine Open Source Lizenz erworben hat, um die<br />
Software zu verändern, zu vervielfältigen und weiterzugeben, Ansprüche auch gegenüber<br />
den jeweiligen Lizenzgebern bestehen. Auch bei der außervertraglichen Haftung<br />
kann es unterschiedliche Anspruchsgegner geben.<br />
Im Einzelnen gelten für die verschiedenen Vertragsverhältnisse die folgenden Grundsätze.<br />
7.2 Einsatz von OSS: Vertragliche Haftung und Gewährleistung bei<br />
Überlassungsverträgen<br />
Verträge über die Überlassung von Open Source Software von einem Zwischenhändler<br />
an die Behörde sind regelmäßig als Kauf oder als Schenkung einzuordnen, abhängig<br />
davon, ob die Parteien die Überlassung gegen (Einmal-) Entgelt oder aber die unentgeltliche<br />
Überlassung verabreden. Ein entgeltlicher Erwerb kann dabei insbesondere auch<br />
deshalb interessant sein, da der Lieferant bei einer entgeltlichen Überlassung in größerem<br />
Umfang Gewährleistungs- und Haftungsrisiken übernehmen muss. Das Risiko einer<br />
Migration zu OSS wird hierdurch unter Umständen besser kalkulierbar.<br />
Ist Kaufrecht anwendbar, hat die Behörde einen Anspruch darauf, dass der Zwischenhändler<br />
die OSS frei von Sach- und Rechtsmängeln verschafft. Der Zwischenhändler<br />
muss dafür einstehen, dass der Vertragsgegenstand die vertraglich vereinbarte oder<br />
vorauszusetzende Beschaffenheit aufweist und dass keine Rechte Dritter, insbesondere<br />
Urheber- und Patentrechte, an dem Vertragsgegenstand bestehen, die die bestimmungsgemäße<br />
Benutzung behindern. Diese Gewährleistung schulden Distributoren und<br />
sonstige Zwischenhändler bereits bei Abschluss eines einfachen Softwareüberlassungsvertrags.<br />
Einer besonderen vertraglichen Vereinbarung bedarf es dafür nicht.<br />
Seite 60
Beim Abschluss eines „Indemnification Program― oder „Assurance Program― mit dem<br />
Distributor sollte deshalb im Einzelnen geprüft werden, ob sich hieraus zusätzliche<br />
Ansprüche des Kunden gegenüber dem Anbieter ergeben. Diese können beispielsweise<br />
darin bestehen, dass sich der Anbieter zur aktiven Unterstützung des Kunden in Rechtsstreitigkeiten<br />
mit Dritten verpflichtet oder dass für den Fall einer Patentverletzung des<br />
Kunden auf das Patentportfolio des Distributors oder weiterer vertraglich verbundener<br />
Parteien zur Verteidigung zurückgegriffen werden kann.<br />
Liegen Mängel vor, so kann die Behörde in erster Linie Nacherfüllung verlangen. Schlägt<br />
diese Nacherfüllung fehl, dann hat der Käufer die Auswahl unter mehreren Ansprüchen.<br />
Er kann vom Vertrag zurücktreten (§§ 440, 323 BGB). Als Alternative steht dem Erwerber<br />
das Recht zu, am Vertrag zwar festzuhalten, den Kaufpreis aber zu mindern<br />
(§ 441 BGB). Schließlich hat der Käufer auch einen Anspruch auf Schadensersatz auf<br />
Grundlage der §§ 280, 440 BGB, wenn der Zwischenhändler – was gesetzlich vermutet<br />
wird – den Schaden zu vertreten hat. Zu vertreten hat der Schuldner dabei regelmäßig<br />
auch leichte Fahrlässigkeit.<br />
Auch für Schäden an sonstigen Rechtsgütern der Behörde, insbesondere Hardware oder<br />
andere Software, hat der Zwischenhändler grundsätzlich zu haften. Die Behörde kann in<br />
diesem Fall Ersatz ihres Schadens verlangen; Anspruchsgrundlage ist § 280 BGB. Voraussetzung<br />
ist wiederum, dass der Zwischenhändler den Schaden zu vertreten hat. Ein<br />
Verschulden wird aber auch hier grundsätzlich vermutet; es ist Aufgabe des Verkäufers,<br />
sich zu entlasten.<br />
Von dieser gesetzlichen Verteilung des Haftungs- und Gewährleistungsrisikos können<br />
die Parteien innerhalb bestimmter Grenzen abweichen. Zwischenhändler versuchen<br />
oftmals unter Verweis auf die üblichen Lizenzklauseln in Open Source Lizenzen, eine für<br />
sie günstigere vertragliche Regelung durchzusetzen und die Haftung und Gewährleistung<br />
weitestgehend auszuschließen. Entsprechende Ausschlussklauseln sind aber in<br />
aller Regel nicht gerechtfertigt, da die Zwischenhändler die Software entgeltlich<br />
weitergeben. Behörden sollten sich hier keinesfalls auf einen Ausschluss ihrer<br />
Ansprüche einlassen, sondern auf der Beibehaltung der gesetzlichen Standards<br />
bestehen. Im Übrigen ist zugunsten der Behörde zu beachten, dass gerade in Standardverträgen<br />
("Allgemeine Geschäftsbedingungen") Haftungs- und Gewährleistungsbeschränkungen<br />
nur begrenzt vereinbart werden können. Ein vollständiger Ausschluss der<br />
Haftung und Gewährleistung, wie er sich im Kleingedruckten mancher GNU/Linux-<br />
Standarddistribution findet, ist deswegen zumeist unwirksam. Hierauf sollten sich<br />
Behörden aber nicht verlassen, sondern von vornherein darauf dringen, dass eine sinnvolle<br />
vertragliche Lösung gefunden wird. Die Regelungen der EVB-IT Überlassung TYP<br />
A und B zur Gewährleistung und Haftung 50 sind grundsätzlich auch beim Erwerb von<br />
Standard OSS geeignet.<br />
Hat sich die Behörde die Software kostenlos verschafft, ist auf den Vertrag in der Regel<br />
Schenkungsrecht anzuwenden. In diesen Fällen haftet der Lieferant nur in engen<br />
Grenzen. Dafür, dass die Software die vorauszusetzende Beschaffenheit aufweist und<br />
Rechte Dritter einer Verwendung nicht entgegenstehen, hat der Schenker nur dann<br />
50 Ziffern 7-9 EVB-IT Überlassung Typ A und Ziffer 7-9 EVB-IT Überlassung Typ B (Haftung<br />
bei Mängeln).<br />
Seite 61
einzustehen, wenn er den Mangel arglistig verschwiegen hat (§§ 523, 524 BGB). Der<br />
Lieferant muss den Mangel kennen oder zumindest für möglich halten. Zudem muss<br />
eine Aufklärungspflicht bestehen, das heißt, der Beschenkte muss eine vorherige<br />
Aufklärung über den jeweiligen Mangel erwarten können. Für die Haftung im Hinblick auf<br />
die sonstigen Rechtsgüter des Erwerbers hat der Lieferant bei kostenloser Überlassung<br />
nur Vorsatz und grobe Fahrlässigkeit zu vertreten (§ 521 BGB). Falls es durch das Programm<br />
also zu einer Verletzung der sonstigen Rechtsgüter des Erwerbers kommt, so<br />
haftet er nur, wenn er die Rechtsverletzung wissentlich herbeiführt oder seine Sorgfaltspflichten<br />
in besonders schwerem Maße verletzt.<br />
Oftmals wird zugleich mit dem Softwareüberlassungsvertrag auch ein Supportvertrag<br />
abgeschlossen, in dem sich der Softwarelieferant zur Pflege und Instandhaltung der<br />
überlassenen Programme verpflichtet. Hier stellt sich die Frage nach dem Verhältnis der<br />
Mängelgewährleistung aus dem Überlassungsvertrag und den Pflichten des Dienstleisters<br />
aus dem Supportvertrag. Wird die Software gegen Entgelt überlassen, so hat die<br />
Behörde grundsätzlich einen Anspruch darauf, dass Mängel beseitigt werden, ohne dass<br />
hierfür ein besonderes Entgelt bezahlt werden muss. Während der Gewährleistungsfrist<br />
darf also nur für solche Leistungen ein Entgelt verlangt werden, die über das hinausgehen,<br />
was eine Behörde bereits im Rahmen der gesetzlichen Mängelgewährleistung<br />
verlangen kann, etwa 24-Stunden-Service und die Garantie, Ausfälle in bestimmten<br />
Reaktionszeiten zu beheben. Schwierig zu beurteilen sind solche Vertragsgestaltungen,<br />
in denen der Behörde die Software kostenlos überlassen wird, während für den Support<br />
ein Entgelt verlangt wird. Hier ist zugunsten der Behörde davon auszugehen, dass eine<br />
künstliche Aufspaltung in einen unentgeltlichen Teil mit nur geringer Gewährleistung und<br />
einen entgeltlichen Teil, für den eine erhöhte Einstandspflicht besteht, nicht wirksam<br />
vorgenommen werden kann. Stellt sich eine Dienstleistung aus Sicht der Behörde als<br />
eine einheitliche entgeltliche Leistung dar, so muss der Anbieter auch dafür einstehen,<br />
dass das Programm grundsätzlich funktionsfähig ist. Entsprechende Einstandspflichten<br />
für diese Basisgewährleistung dürfen nicht als kostenpflichtiger Support abgerechnet<br />
werden.<br />
Entgeltlicher Erwerb Sachmangel<br />
Unentgeltlicher<br />
Erwerb<br />
Rechtsmangel<br />
Schäden an sonstigen Rechtsgütern<br />
Sachmangel<br />
Rechtsmangel<br />
Schäden an sonstigen Rechtsgütern<br />
Seite 62<br />
Nacherfüllung<br />
Bei Fehlschlag der Nacherfüllung:<br />
� Minderung<br />
� Rücktritt<br />
Bei Verschulden Schadensersatz<br />
Bei Verschulden Schadensersatz<br />
Bei Arglist Schadensersatz<br />
Bei grober Fahrlässigkeit / Vorsatz<br />
Schadensersatz<br />
Tabelle 8: Vertragliche Ansprüche auf Haftung und Gewährleistung gegen den Zwischenhändler
7.3 Einsatz von OSS: Vertragliche Haftung und Gewährleistung bei Open<br />
Source Lizenzverträgen<br />
Von den Verträgen mit den Lieferanten über die Überlassung der Software sind die<br />
Open Source Lizenzverträge zu unterscheiden. Letztere werden direkt mit den Rechtsinhabern<br />
abgeschlossen. Gegenstand dieser OSS-Lizenzen ist die Einräumung<br />
bestimmter Nutzungsrechte an der Software, insbesondere der Rechte zur Vervielfältigung,<br />
Verbreitung und Bearbeitung.<br />
Die Erkenntnis, dass es sich um unterschiedliche Geschäfte handelt, ist für die Frage der<br />
vertraglichen Haftung und Gewährleistung von weitreichender Bedeutung. Denn jeder<br />
Vertragspartner hat nur für die von ihm zu verschaffenden Vertragsgegenstände eine<br />
Gewährleistung zu übernehmen und haftet auch nur für die Einhaltung seiner eigenen<br />
vertraglichen Verpflichtungen. Daraus folgt, dass die Urheber dem Lizenznehmer der<br />
OSS-Lizenz im Wesentlichen für den Bestand und Erhalt der Nutzungsrechte einzustehen<br />
haben. Nur insoweit kann die Behörde vertragliche Ansprüche gegenüber diesen<br />
geltend machen. Die tatsächliche Eignung der Software für die Programmbenutzung ist<br />
hingegen eine Frage des Einstehen müssens der Distributoren oder der sonstigen<br />
Zwischenhändler aufgrund des Überlassungsvertrages. Das Gleiche gilt für die Befugnis<br />
der Behörde, die Software bestimmungsgemäß benutzen zu können; dieses Recht ergibt<br />
sich in der Regel bereits aus dem Erwerb einer rechtmäßig in Verkehr gebrachten<br />
Programmkopie. Fehlt es hieran, so ist der Distributor in Anspruch zu nehmen und nicht<br />
die Rechtsinhaber.<br />
Bei der Frage, in welchem Umfang die jeweiligen Urheber für den Bestand der Nutzungsrechte<br />
einzustehen haben, gilt es zunächst festzuhalten, dass sich der Gewährleistungs-<br />
und Haftungsmaßstab in der Regel nicht nach den entsprechenden Klauseln in<br />
den jeweiligen OSS-Lizenzen richtet. Denn die allermeisten OSS-Lizenzen verwenden<br />
einen umfassenden, vollständigen Haftungs- und Gewährleistungsausschluss. 51 Entsprechende<br />
Klauseln sind nach deutschem Recht nichtig. 52 Rechtsfolge dieser Unwirksamkeit<br />
ist, dass die gesetzlichen Regelungen Anwendung finden.<br />
Open Source Lizenzen stellen sogenannte Lizenzverträge dar, deren Haftung und<br />
Gewährleistung im Gesetz nicht ausdrücklich geregelt sind. Da die Nutzungsrechte<br />
jedoch von den Urhebern gewährt werden, ohne dass die Zahlung einer Lizenzgebühr<br />
verlangt wird, wird überwiegend davon ausgegangen, dass auf diese Verträge das<br />
Haftungs- und Gewährleistungsrecht der verschiedenen unentgeltlichen Verträge<br />
entsprechend anzuwenden ist. 53 Weil zentraler Vertragsgegenstand der OSS-Lizenzen<br />
die Einräumung von Rechten ist, steht im Mittelpunkt gewährleistungsrechtlicher Fragen<br />
dabei das Einstehen müssen für Rechtsmängel. Sachmängelgewährleistung spielt<br />
daneben in der Regel keine Rolle. Für Rechtsmängel, also insbesondere dafür, dass der<br />
Lizenzgeber Inhaber der lizenzierten Nutzungsrechte ist und Rechte Dritter einer<br />
51 Vgl. z.B. Ziffern 11 und 12 GPL <strong>Version</strong> 2, Ziffern 15 und 16 GPL <strong>Version</strong> 3.<br />
52 Dazu ausführlich Jaeger/Metzger, Open Source Software: Rechtliche Rahmenbedingungen<br />
der Freien Software (2. Aufl. 2006), Rz. 219 ff.<br />
53 Siehe Jaeger/Metzger, a.a.O., Rz. 210 ff.; Spindler, Rechtsfragen bei Open Source (2004),<br />
S. 152 ff. Andere Ansicht aber Hoeren, Open Source und das Schenkungsrecht - eine<br />
durchdachte Liaison?, in: Recht und Risiko - Festschrift für Helmut Kollhosser , Bd. 2<br />
(2004), S. 229 ff.<br />
Seite 63
Lizenzierung nicht entgegenstehen, hat dieser in Anlehnung an die schenkungs- und<br />
leihrechtlichen Vorschriften nur dann einzustehen, wenn er den Mangel arglistig<br />
verschwiegen hat. Liegt kein Fall der Arglist vor, so hat die Behörde nach der<br />
gesetzlichen Regelung das Risiko des Bestehens von Rechtsmängeln zu tragen.<br />
Insoweit bieten auch die von OSS-Distributoren angebotenen Zusatzabsicherungen<br />
gegenüber Rechten Dritter („Assurance Program―, „Indemnification Program― o.ä.)<br />
regelmäßig keinen Schutz, weil sie den Kunden nur im Hinblick auf den<br />
bestimmungsgemäßen Gebrauch des Programms absichern, nicht aber im Hinblick auf<br />
eine weitergehende Verbreitung oder sonstige Nutzung. Für diese weitergehende<br />
Nutzung bieten allenfalls spezielle Versicherungsprodukte entsprechenden Schutz.<br />
Hinsichtlich der Schäden an sonstigen Rechtsgütern der Behörde ist die Haftung der<br />
Rechtsinhaber ebenfalls in Anlehnung an die Vorschriften für unentgeltliche Verträge auf<br />
Vorsatz und grobe Fahrlässigkeit beschränkt. Diese haften daher nur, wenn sie wissentlich<br />
gehandelt oder aber ihre Sorgfaltspflichten in besonders schwerem Maße verletzt<br />
haben.<br />
7.4 Einsatz von OSS: Vertragliche Haftung und Gewährleistung bei Erstellung<br />
und Änderung von Freier Software<br />
Wird Software gegen Entgelt im Kundenauftrag erstellt, ist Werkvertragsrecht oder nach<br />
anderer Auffassung im Wesentlichen Kaufvertragsrecht anwendbar. Auch bei der entgeltlichen<br />
Anpassung von Software an die spezifischen Bedürfnisse der Behörde besteht<br />
eine Gewährleistung und Haftung nach werk- oder kaufvertraglichen Grundsätzen, abhängig<br />
von der jeweiligen Einordnung des Geschäftes.<br />
Unabhängig davon, ob es sich bei den genannten Verträgen um Kauf- oder Werkverträge<br />
handelt, kann die Behörde von ihrem jeweiligen Vertragspartner bei Mängeln<br />
zunächst Nacherfüllung verlangen, wobei Unterschiede in der Ausübung je nach<br />
vertragstypologischer Einordnung der Verträge bestehen. Scheitert die Nacherfüllung,<br />
stehen dem Besteller Minderung, Rücktritt und – bei Verschulden der anderen Vertragspartei<br />
– Schadensersatzansprüche zu. Ob darüber hinaus die Behörde berechtigt ist,<br />
den Mangel selbst zu beseitigen oder beseitigen zu lassen und Ersatz der hierzu<br />
erforderlichen Aufwendungen verlangen kann, ist davon abhängig, ob man den Vertrag<br />
als Werkvertrag ansieht und nicht als einen Vertrag, auf den Kaufrecht Anwendung<br />
findet.<br />
Für die vertragliche Haftung des Auftragnehmers gilt, dass dieser für schuldhaft verursachte<br />
Schäden an sonstigen Rechtsgütern des Erwerbers einzustehen hat. Eine fahrlässige<br />
Herbeiführung des Schadens begründet bereits eine entsprechende Haftung.<br />
Wie bei allen Verträgen gilt auch hier, dass die Parteien innerhalb bestimmter Grenzen<br />
abweichende Abreden treffen können. Im Hinblick auf die keineswegs eindeutige<br />
Rechtslage sollte davon gerade auch im Bereich der OSS-Erstellungs- und Anpassungsverträge<br />
Gebrauch gemacht werden. Hier bietet es sich an, die Pflichten und Obliegenheiten<br />
der Vertragsparteien, insbesondere eine (aus dem Werkvertragsrecht bekannte)<br />
Abnahme ausdrücklich zu regeln sowie Vereinbarungen über Mängelrügefristen etc. zu<br />
treffen.<br />
Seite 64
7.5 Einsatz von OSS: Außervertragliche Haftung<br />
Schäden im Zusammenhang mit der Migration zu OSS können nicht nur zu vertraglichen<br />
Ansprüchen gegenüber den jeweiligen Partnern führen. Vielmehr sind auch außervertragliche<br />
Haftungstatbestände zu beachten, insbesondere nach dem Produkthaftungsgesetz<br />
und dem allgemeinen Deliktsrecht der §§ 823 ff. BGB. Das Produkthaftungsgesetz<br />
begründet eine Haftung nur für Personenschäden und solche Sachschäden, die<br />
an einer anderen Sache als dem fehlerhaften Produkt eintreten. Eine Haftung besteht<br />
nach diesem Gesetz, das in erster Linie den Verbraucher schützen soll, dabei jedoch<br />
nicht für solche Sachen, die nicht primär privat verwendet werden. 54 Sachschadensersatzforderungen<br />
aus dem nichtprivaten Bereich sieht sich der Hersteller auf der<br />
Grundlage dieses Gesetzes nicht ausgesetzt. Insoweit ist gerade für die Behörde die<br />
Geltendmachung von Sachschäden aufgrund des Produkthaftungsgesetzes weitestgehend<br />
ausgeschlossen.<br />
Neben der verschuldensunabhängigen Haftung nach dem Produkthaftungsgesetz<br />
kommt auch eine außervertragliche Haftung aufgrund allgemeiner außervertraglicher<br />
Haftungstatbestände (Deliktstatbestände) vor. Gerade weil das Produkthaftungsgesetz<br />
bei Sachschäden nur private Güter schützt, haben diese Regelungen für Behörden besondere<br />
Relevanz. Eine Geltendmachung auf Grundlage deliktsrechtlicher Vorschriften<br />
setzt kein Vertragsverhältnis voraus. Wenn beispielsweise eine Behörde ein Programm<br />
von einem Zwischenhändler erwirbt, so kommen gegenüber dem Distributor nur außervertragliche<br />
Ansprüche in Betracht, da insoweit kein Vertragsverhältnis besteht.<br />
Interessant ist insbesondere die Regelung des § 823 BGB. Nach dieser Vorschrift ist<br />
derjenige zum Schadensersatz verpflichtet, der vorsätzlich oder fahrlässig Leben,<br />
Körper, Eigentum oder sonstige ähnlich „absolut― geschützte Rechtspositionen widerrechtlich<br />
verletzt. Schwierig und nur im Einzelfall zu beurteilen ist dabei die Frage, wann<br />
die Verletzung „fahrlässig― erfolgte. Fahrlässigkeit setzt die Verletzung von Sorgfaltspflichten<br />
voraus. Bei den einzelnen Entwicklern der Software wird man den zu beachtenden<br />
Sorgfaltsmaßstab nicht zu hoch ansetzen dürfen. Bei der Entwicklung von OSS<br />
werden regelmäßig auch unfertige Lösungen verbreitet, an denen die Community<br />
arbeitet. Deutlich weitreichender stellt sich hingegen die außervertragliche Haftung der<br />
Distributoren von OSS dar. Diese stellen in der Regel ein fertiges Endprodukt zur Verfügung,<br />
sodass von vornherein höhere Sorgfaltsanforderungen angezeigt erscheinen.<br />
In der Praxis bestehen zum Teil Schwierigkeiten, das Vorliegen aller Tatsachen für das<br />
Bestehen eines Schadensersatzanspruchs zu beweisen. Dort, wo das Produkt in<br />
industrieller Weise gefertigt und vertrieben wird, kommt jedoch unter Umständen eine<br />
Anwendung der von der Rechtsprechung entwickelten Grundsätze der sog. Produzentenhaftung<br />
in Betracht. Dies betrifft vor allem die Herstellung fertiger Betriebssystemdistributionen<br />
durch Distributoren. Im Rahmen einer solchen Produzentenhaftung wird in<br />
verschiedener Hinsicht die Beweisführung des Verletzten erleichtert. 55<br />
54 Vgl. § 1 Abs. 1 ProdHaftG.<br />
55 Vgl. dazu Schiffner, Open Source Software (2002), S. 253 f.<br />
Seite 65
7.6 Einsatz von OSS: Mitverschulden<br />
Sowohl bei der vertraglichen als auch bei der außervertraglichen Haftung ist zu berücksichtigen,<br />
dass die Ansprüche jeweils durch ein Mitverschulden der Behörde ganz oder<br />
teilweise im Umfang begrenzt sein können. Im Grenzfall können sie sogar wegen eines<br />
„überwiegenden― Mitverschuldens der Behörde vollständig entfallen.<br />
Ein wichtiger Bereich, in dem in der Praxis gehäuft Probleme eines möglichen Mitverschuldens<br />
auftreten, ist die Haftung für den Verlust von Datenbeständen. Hier ist zu<br />
beachten, dass es im gewerblichen Anwenderbereich vielfach als selbstverständlich<br />
angesehen wird, dass der Anwender eine zuverlässige, zeitnahe und umfassende<br />
Sicherung der Daten sicherstellt. Entsprechende Anforderungen wird man auch an<br />
Behörden stellen dürfen.<br />
7.7 Vergleich der Migration zu proprietärer Software und zu OSS<br />
Ein Vergleich zwischen der Migration zu proprietärer Software und zu OSS zeigt, dass<br />
dort, wo entgeltliche Verträge geschlossen werden, weitgehende Parallelen in der Haftung<br />
und Gewährleistung bestehen.<br />
Beim Erwerb der Software zur Benutzung innerhalb der Behörde ist Anspruchsgegner<br />
der vertraglichen Haftung und Gewährleistung der jeweilige Vertragspartner des Überlassungsvertrages.<br />
Dies gilt sowohl für eine Migration zu OSS als auch für eine Migration<br />
zu proprietärer Software. Arbeitet die Software nicht vertragsgemäß oder stehen Rechte<br />
Dritter einer Benutzung entgegen, ist stets der Händler zur Beseitigung der Beeinträchtigung<br />
verpflichtet. Der Händler haftet auch für Schäden an sonstigen Rechtsgütern der<br />
Behörde. Der gesetzliche Haftungsumfang ist dabei derselbe, solange die Software entgeltlich<br />
erworben wird.<br />
Macht die Behörde hingegen von der bei Migration zu OSS bestehenden Möglichkeit<br />
Gebrauch, die Software kostenlos zu erwerben, so muss sie Abstriche im Haftungs- und<br />
Gewährleistungsumfang hinnehmen, da das Gesetz den Softwarelieferanten bei einer<br />
unentgeltlichen Überlassung privilegiert. Hier kann zu überlegen sein, ob die ersparten<br />
Erwerbskosten für eine Risikoabsicherung (Supportverträge, Garantieverträge, Versicherungen)<br />
eingesetzt werden. Bei Abschluss entsprechender Verträge ergeben sich keine<br />
entscheidungserheblichen Unterschiede zwischen OSS und proprietärer Software bei<br />
der Frage der Haftung und Gewährleistung.<br />
Will die Behörde Lizenzrechte erwerben, etwa um die Software zu vervielfältigen, anzupassen<br />
oder an andere Behörden weiterzugeben, so werden bei OSS diese Rechte stets<br />
kostenlos eingeräumt. Bei der Migration zu proprietärer Software bedarf es hingegen<br />
regelmäßig – soweit überhaupt eine entsprechende Rechtseinräumung erfolgt – der<br />
Zahlung einer Lizenzgebühr. Aufgrund dieser Unterschiedlichkeit der zugrunde liegenden<br />
Verträge variiert auch der Haftungs- und Gewährleistungsmaßstab beträchtlich. Bei<br />
kostenloser Einräumung besteht eine weitgehende Privilegierung. Hier steht es der<br />
Behörde bei der Migration zu OSS allerdings offen, ersparte Erwerbskosten für den<br />
Abschluss einer Versicherung einzusetzen.<br />
Gewisse Unterschiede im Haftungsumfang bestehen im Bereich der außervertraglichen<br />
Haftung. Da der proprietäre Hersteller auf sämtliche Schritte im Entwicklungsprozess<br />
Einfluss nehmen kann, wird man auch einen höheren Sorgfaltsmaßstab anlegen können.<br />
Seite 66
Allerdings spielt die außervertragliche Haftung des Herstellers von Computerprogrammen<br />
in der Praxis bisher allenfalls eine untergeordnete Rolle.<br />
8 Vergaberecht<br />
8.1 Allgemeines<br />
Die Wahl der Behörde zwischen einer Migration zu proprietärer Software und einer<br />
Migration zu OSS hat unter Beachtung der Prinzipien des Vergaberechts zu erfolgen 56 .<br />
Die Beschaffung von Informationstechnologie muss grundsätzlich nach Maßgabe des<br />
Wettbewerbsprinzips erfolgen, vgl. § 97 Abs. 1 GWB. Hierbei sind alle Bewerber gleich<br />
zu behandeln ("Gleichbehandlungsgrundsatz", vgl. § 97 Abs. 2 GWB). Vergabefremde<br />
Kriterien, die nicht an die Wirtschaftlichkeit des Angebots oder die Fachkunde,<br />
Leistungsfähigkeit und Zuverlässigkeit des Bewerbers anknüpfen, dürfen nicht berücksichtigt<br />
werden (vgl. § 97 Abs. 4 GWB).<br />
Überschreitet der Beschaffungsauftrag die Schwellenwerte der Vergabeverordnung 57 , so<br />
besteht für die übergangenen Bieter die Möglichkeit, eine Nachprüfung der Vergabeentscheidung<br />
nach den Vorschriften des GWB zu beantragen. Dies kann zu einer<br />
Verzögerung der Beschaffung führen und birgt das Risiko zusätzlicher Kosten für das<br />
Verfahren vor der Vergabekammer und die gegebenenfalls erforderliche erneute Ausschreibung,<br />
falls die Behörde die Vergaberechtsprinzipien missachtet hat. Deswegen<br />
sollte sich die Vergabestelle an die folgenden Hinweise halten. Diese basieren auf einer<br />
Auswertung der vergaberechtlichen Fachliteratur. Eine Klärung der Rechtslage durch die<br />
Vergabekammern des Bundes und der Länder sowie der Gerichte fehlt bislang.<br />
8.2 Beschaffung von OSS: Neutrale Ausschreibung<br />
Aus dem Wettbewerbsprinzip und dem Gleichbehandlungsgrundsatz ergibt sich als erste<br />
Anforderung an eine vergaberechtskonforme Beschaffung, dass in der Ausschreibung<br />
die geforderten Leistungen neutral beschrieben werden. Die Anforderungen an eine<br />
neutrale Leistungsbeschreibung sind in § 8 VOL/A näher bestimmt. Gemäß § 8 Nr. 3<br />
Abs. 3 VOL/A ist es nur gestattet, bestimmte Erzeugnisse oder Verfahren vorzuschreiben,<br />
wenn "dies durch die Art der zu vergebenden Leistung gerechtfertigt ist.― In Abs. 4<br />
heißt es weiter, dass die Beschreibung technischer Merkmale nicht die Wirkung haben<br />
darf, "dass bestimmte Unternehmen oder Erzeugnisse bevorzugt oder ausgeschlossen<br />
werden, es sei denn, dass eine solche Beschreibung durch die zu vergebende Leistung<br />
gerechtfertigt ist.― In der juristischen Fachliteratur wird zum Teil unter Berufung auf die<br />
genannten Bestimmungen gefordert, dass eine Ausschreibung für IT-Aufträge nicht von<br />
vornherein auf Open Source Software beschränkt erfolgen darf. Eine solche Sichtweise<br />
erscheint jedoch als zu undifferenziert.<br />
56 Vgl. zum Folgenden eingehend Heckmann, IT-Vergabe, Open Source Software und Vergaberecht,<br />
Computer und Recht 2004, 401 sowie Demmel/Herten-Koch, Vergaberechtliche<br />
Probleme bei der Beschaffung von Open-Source Software, Neue Zeitschrift für Baurecht<br />
2004, 187; Müller/Gerlach, Open-Source-Software und Vergaberecht, Computer und Recht<br />
2005, 87.<br />
57 IT-Aufträge der obersten und oberen Bundesbehörden und vergleichbarer Bundeseinrichtungen:<br />
137.000 €, alle anderen IT-Aufträge: 211.000 €.<br />
Seite 67
Im Grundsatz gilt, dass die Ausschreibung die geforderten Leistungen in einer Weise<br />
beschreiben muss, die es auch den proprietären Konkurrenzprodukten ermöglicht, ihre<br />
Leistungen anzubieten, soweit die Ziele der Behörde auch mit diesen erreicht werden<br />
können. Danach muss im Grundsatz sowohl auf eine Leistungsbeschreibung "Linux-<br />
Server" als auch auf die Bezeichnungen "Open Source oder quelloffene Software" verzichtet<br />
werden. Stattdessen sind die konkreten Merkmale der geforderten Leistungen<br />
abstrakt zu beschreiben, damit auch proprietäre Konkurrenten ihre Leistungen anbieten<br />
können.<br />
Es ist also statt der Bezeichnung "Linux-Server" neutral zu beschreiben, welche Merkmale<br />
der Server erfüllen soll. Sind die Vorgaben entsprechend neutral formuliert, sollten<br />
zumindest auch Server, die mit anderen UNIX-Derivaten betrieben werden, die Spezifikationen<br />
erfüllen können.<br />
Statt "Open Source Software" sollte beschrieben werden, welche konkreten Ziele die<br />
Behörde hiermit erreichen möchte. Es erscheint als vergaberechtlich bedenklich, pauschal<br />
die Offenlegung der Quellcodes zu verlangen, wenn für die Bieter nicht erkennbar<br />
ist, warum die Behörde die geforderten Merkmale verlangt. Dagegen erscheint der<br />
Hinweis auf das Erfordernis offener Quellcodes als zulässig, sofern die Behörde beispielsweise<br />
angibt, dass ein erhöhtes Maß an Sicherheit gegen "backdoors", Virenattacken<br />
und Ähnliches für die Erfüllung der öffentlichen Aufgabe erforderlich ist oder die<br />
spätere Anpassung oder Pflege der Software den Erhalt der Quellcodes voraussetzen.<br />
Dies bietet proprietären Bietern die Möglichkeit, sich durch eine Offenlegung im Einzelfall<br />
an der Ausschreibung zu beteiligen. 58<br />
Die gleichen Grundsätze gelten für Leistungsbeschreibungen, die die OSS-Lizenzen als<br />
Leistungsanforderungen beinhalten ("GPL-Software" o.ä.). Entsprechende Anforderungen<br />
sollten durch neutrale Beschreibungen ersetzt werden, die auf den Umfang der gewünschten<br />
Nutzungsrechte hinweisen und erkennen lassen, wofür die Behörde diese<br />
Rechte einsetzen möchte. Es kann sachlich gerechtfertigt sein, wenn die Behörde die<br />
Nutzungsrechte erwerben möchte, um das Programm später durch eigene Mitarbeiter<br />
oder andere Anbieter fortentwickeln zu lassen oder wenn sie das Programm zu möglichst<br />
kostengünstigen Konditionen auf weiteren Arbeitsplätzen oder an weiteren Dienststellen<br />
einsetzen möchte. Dennoch sollte auch im Hinblick auf die Nutzungsrechte proprietären<br />
Geboten eine Chance gegeben werden, in dem der gewünschte Umfang der zu<br />
erwerbenden Nutzungsrechte abstrakt beschrieben wird. Die Vorzüge von OSS dürfen<br />
bei der Leistungsbeschreibung also durchaus inhaltlich berücksichtigt werden.<br />
Anforderungen aus dem Gesichtspunkt der neutralen Ausschreibung ergeben sich auch<br />
für den Zuschnitt der Ausschreibung. In diesem Zusammenhang wird insbesondere die<br />
Frage diskutiert, ob Softwareüberlassung und Support stets gemeinsam auszuschreiben<br />
sind oder auch getrennt beschafft werden können. Zum Teil wird in der Aufspaltung der<br />
beiden Leistungen ein Verstoß gegen das Gebot der neutralen Ausschreibung gesehen,<br />
weil die Vergabestelle durch die Aufspaltung der einzelnen Bestandteile die eigentliche<br />
58 Dass dies proprietären Anbietern eine realistische Chance eröffnet, zeigt das "Shared<br />
Source"-Programm von Microsoft, welches bestimmten Lizenznehmern Einblick in die<br />
Quelltexte der Microsoft-Programme gewährt. Siehe hierzu<br />
http://www.microsoft.com/resources/sharedsource/default.mspx.<br />
Seite 68
Wirtschaftlichkeitsentscheidung umgehe. 59 Dies sei insbesondere dann der Fall, wenn<br />
die Lieferung von Open Source als kostenlos eingeordnet wird, was unter Umständen<br />
sogar zur Folge hätte, dass die Leistung überhaupt nicht ausgeschrieben werden<br />
müsste, 60 während der kostenpflichtige Support ausgeschrieben wird. Ein vollständiges<br />
Bild könne nur gewonnen werden, wenn jeweils Software und Support gemeinsam als<br />
einheitliches Erfüllungsgeschäft verglichen werden. Die Ausschreibung müsse den<br />
Vergleich der jeweiligen Gesamtwirtschaftlichkeit gestatten, um nicht von vornherein die<br />
proprietären Anbieter zu benachteiligen. Diese Sichtweise erscheint jedoch als zu<br />
restriktiv 61 . Das einheitliche Angebot von Software und Support durch einen Anbieter<br />
entspricht nicht der branchenüblichen Praxis und ist vergaberechtlich nicht erforderlich.<br />
Im Übrigen ist darauf zu verweisen, dass das Vergaberecht – wie das Wettbewerbsrecht<br />
insgesamt – der Kopplung von Leistungen eher kritisch gegenübersteht.<br />
Dementsprechend schreibt § 97 Abs. 3 GWB ausdrücklich vor, dass Ausschreibungen<br />
grundsätzlich in Teillosen erfolgen sollen, um auf diese Weise kleinen und<br />
mittelständischen Unternehmen die Beteiligung an entsprechenden Ausschreibungen zu<br />
ermöglichen.<br />
8.3 Beschaffung von OSS: transparente Ausschreibung<br />
Um einen echten Wettbewerb zwischen den Angeboten zu erreichen, sind in der Ausschreibung<br />
alle die Entscheidung beeinflussenden Umstände aufzunehmen (vgl. § 97<br />
Abs. 1 GWB, § 8 Abs. 2 VOL). Faktoren, die in der Ausschreibung nicht genannt wurden,<br />
dürfen später bei der Entscheidung nicht berücksichtigt werden.<br />
Behörden, die eine Migration zu OSS in Betracht ziehen, müssen deswegen bereits in<br />
der Ausschreibung auf die Eigenschaften hinweisen, die für eine solche Entscheidung<br />
sprechen könnten. Dies sollte allerdings in einer Weise geschehen, die es auch<br />
Anbietern proprietärer Produkte ermöglicht, sich an der Ausschreibung zu beteiligen. Es<br />
erscheint als vergaberechtlich unbedenklich, wenn auf die besondere Bedeutung der<br />
Kompatibilität der Programme und der mit diesen Programmen erzeugten Dateien mit<br />
anderen Programmen und deren erzeugten Dateien hingewiesen wird. Auch sollte auf<br />
die Bedeutung der Verwendung von Standardschnittstellen verwiesen werden. Es kann<br />
auch dazu angeführt werden, dass eine größtmögliche Unabhängigkeit von einzelnen<br />
Anbietern im Hinblick auf andere Informationstechnologien, aber auch im Hinblick auf<br />
Supportdienstleistungen gewünscht wird. Auch sollte bereits in der Ausschreibung<br />
klargestellt werden, dass Leistungen gefordert sind, die eine nachhaltige Entwicklung der<br />
Behördenhard- und -software versprechen.<br />
Entsprechende Leistungsbeschreibungen sollten es allen Bietern gestatten, sich auf die<br />
Entscheidungskriterien der Behörde einzustellen und die Gebote entsprechend auszurichten.<br />
59 So insb. Heckmann, a.a.O., 402.<br />
60 Vgl. § 99 GWB: "Öffentliche Aufträge sind entgeltliche Verträge [...].<br />
61 So Müller/Gerlach, a.a.O., 89.<br />
Seite 69
8.4 Beschaffung von OSS: Vergabeentscheidung<br />
Der vergaberechtlich richtige Zeitpunkt für eine Migrationsentscheidung ist die Wertung<br />
der Angebote bei der Vergabeentscheidung. Der Zuschlag ist gemäß § 97 Abs. 5 GWB<br />
auf das wirtschaftlichste Angebot zu erteilen. § 25 Nr. 3 VOL/A bestimmt näher, dass der<br />
niedrigste Angebotspreis nicht allein entscheidend ist. Es ist deswegen vergaberechtlich<br />
nicht zu beanstanden, wenn sich Behörden entgegen kurzfristiger monetärer Anreize für<br />
ein höherwertiges Angebot entscheiden. Entscheidend für die Wirtschaftlichkeit eines<br />
Angebots ist das günstigste Verhältnis zwischen der gewünschten Leistung und dem<br />
angebotenen Preis.<br />
Vergabefremde Kriterien sind dabei auszuscheiden, es sei denn, sie sind ausdrücklich<br />
durch Bundes- oder Landesgesetz vorgesehen (vgl. § 97 Abs. 4 GWB). Entsprechende<br />
Gesetze, welche eine bevorzugte Beschaffung von OSS vorschreiben, sind bislang nicht<br />
erlassen worden, und zwar weder auf Bundes- noch auf Landesebene. "Grundsatzbeschlüsse",<br />
wie etwa der des Deutschen Bundestags vom 09.11.2003, in welchem der<br />
Bundestag "die Einführung von unter Open-Source-Lizenzen erstellten Produkten in der<br />
Bundesverwaltung" gefordert hat 62 , können weder als Ersatz für ein Gesetz im Sinne von<br />
§ 97 Abs. 4 GWB bewertet werden, noch entbinden sie Behörden von den Vorgaben des<br />
Vergaberechts. Die Vergabeentscheidung ist also auch bei Vorliegen entsprechender<br />
Empfehlungen nach dem Wirtschaftlichkeitsprinzip auszurichten.<br />
Bei Anlegung dieser Grundsätze ergibt sich das folgende Bild: Pauschale Hinweise auf<br />
die Förderung von OSS oder des Wettbewerbs auf den IT-Märkten sind als vergabefremde<br />
Kriterien unzulässig. Die IT-Beschaffung durch Behörden ist nicht der richtige<br />
Platz, um Wettbewerbspolitik zu betreiben. Das Gleiche gilt für sozialpolitische oder<br />
sonstige allgemeine Erwägungen. Behörden dürfen entsprechende Argumente bei der<br />
Begründung einer Vergabeentscheidung nicht zugrunde legen.<br />
Es ist aber darauf hinzuweisen, dass sich Behörden nicht mit einem einfachen<br />
Preisvergleich der Gesamtangebote begnügen müssen. Die Erfahrung zeigt, dass<br />
kurzfristige finanzielle Vorteile oftmals später teuer bezahlt werden müssen. Dies kann<br />
insbesondere dann der Fall sein, wenn Behörden Produkte anschaffen, die nur mit<br />
Produkten desselben Anbieters kombiniert werden können oder für die ausschließlich<br />
dieser Anbieter Supportleistungen anbietet. Kurzfristige Preisnachteile können<br />
mittelfristig durch die Unabhängigkeit von einzelnen Anbietern auf den Folgemärkten<br />
ausgeglichen werden. OSS bietet hier einen strategischen Vorteil. Offene Quelltexte und<br />
die Freiheit, Änderungen an diesen vorzunehmen, sorgen dafür, dass wichtige<br />
Folgemärkte für eine Mehrzahl von Anbietern offen stehen. Dies sorgt für Wettbewerb<br />
und Kostenvorteile. Eine entsprechende Einbeziehung konkret absehbarer Begleit- und<br />
Folgekosten ist im Sinne einer nachhaltigen Verwendung öffentlicher Mittel<br />
wünschenswert. Es sollte hierbei aber nicht direkt auf die zu erwartenden mittel- und<br />
langfristigen Kosten verwiesen werden, denn die Vergabekriterien müssen stets auf die<br />
ausgeschriebene Leistung bezogen sein. Vielmehr müssen die genannten<br />
Eigenschaften von OSS als Vorteil einer Migration zu OSS im Rahmen des Preis-<br />
Leistungs-Vergleichs berücksichtigt werden. Die technische und rechtliche<br />
62 Vgl. den dem Beschluss zugrunde liegenden Antrag der Regierungsfraktionen, Bundes-<br />
tags-Drucksache 14/5246, S. 4 ff.<br />
Seite 70
Unabhängigkeit auf Folgemärkten ist deshalb als werthaltige Eigenschaft des Angebots<br />
zu berücksichtigen.<br />
Vergaberechtlich zulässig sind auch alle sonstigen Kriterien, denen Aussagekraft für die<br />
Leistungsfähigkeit der einzelnen Angebote zukommt. Hier können unter anderem einbezogen<br />
werden: die technische Sicherheit der IT-Angebote, die Kompatibilität mit anderen<br />
Programmen, die Kompatibilität der mit dem Programm erzeugten Dokumente, die technischen<br />
und rechtlichen Nutzungsmöglichkeiten, Fragen der Haftung und Gewährleistung.<br />
Entsprechende Kriterien dürfen allerdings nur unter der Voraussetzung berücksichtigt<br />
werden, dass sie in der Ausschreibung ausdrücklich benannt worden sind.<br />
8.5 Vergleich der Migration zu proprietärer Software und zu OSS<br />
Die Anforderungen des Vergaberechts gelten in gleichem Maße für eine Migration zu<br />
OSS wie eine Migration zu proprietärer Software. Ausschreibungen dürfen nicht so<br />
gestaltet sein, dass bestimmte Bieter, seien es Anbieter proprietärer oder OSS-Produkte,<br />
von vornherein faktisch ausgeschlossen sind. Hierauf zielen der Grundsatzbeschluss<br />
des Deutschen Bundestags vom 09.11.2003 und ähnliche Entschließungen im Ergebnis<br />
ab.<br />
Allerdings bestehen im Hinblick auf proprietäre IT-Produkte vergaberechtliche Probleme,<br />
die auf OSS nicht in gleichem Maße zutreffen. Dies gilt insbesondere für das oft anzutreffende<br />
Problem der mangelnden Kompatibilität von Software einzelner Anbieter mit<br />
den Produkten anderer Anbieter. Hier hat sich in der Vergangenheit für Behörden häufig<br />
das Problem gestellt, dass bei der Migration von Teilen der eigenen IT-Infrastruktur letztlich<br />
nur Leistungen desselben Bieters in Betracht gezogen worden sind, da eine Migrationsstrategien<br />
auf Produkte anderer Anbieter mit technischen Hürden verbunden gewesen<br />
wäre.<br />
Andere Bieter hatten es auch in solchen Fällen schwer, sich durchzusetzen, in denen die<br />
Behörde elektronische Dokumente mit anderen Behörden oder Privaten austauschen<br />
muss, wobei die Programme eines Anbieters bei den anderen Behörden oder Privaten<br />
eine Art faktischer Standard darstellen, ohne dass auf die Dokumente mit anderen Programmen<br />
zugegriffen werden kann. Dieses Problem hat in den letzten Jahren beispielsweise<br />
eine Migration zu OSS von MS Office zu anderen Produkten aus der Sicht vieler<br />
Behörden verhindert. Das Wettbewerbsprinzip ist bei entsprechenden Beschaffungsvorgängen<br />
oft auf vergaberechtlich unzulässige Weise ausgehebelt worden, indem eine<br />
Überprüfung der Kompatibilität anderer Programme gar nicht erst vorgenommen worden<br />
ist. 63<br />
Entsprechende Probleme ergeben sich bei OSS in geringerem Maße, da OSS-<br />
Programme oftmals auf eine größtmögliche Kompatibilität mit anderen, auch proprietären<br />
Produkten ausgelegt sind. So gestattet etwa OpenOffice.org den Export von Textdateien<br />
als PDF-Dokumente sowie das Abspeichern als MS Word Dokument. Von besonderer<br />
Bedeutung ist auch, dass das standardmäßige Dateiformat in OpenOffice.org<br />
ein offenes XML-Dateiformat ist. Es kann damit auch auf entsprechende Dokumente<br />
63 Vgl. beispielsweise Bundeskartellamt, 2. Vergabekammer des Bundes, Beschluss vom<br />
08.08.2003, AZ: VK 2-52/03, S. 30-32 (abrufbar unter http://www.bundeskartellamt.de).<br />
Seite 71
zugegriffen werden, ohne OpenOffice.org zu benutzen. Die Systemabhängigkeit ist dadurch<br />
abgeschwächt, die technischen Hürden für eine Migration sind geringer. Der Einsatz<br />
von technischen Lösungen, welche den Übergang zu anderen Produkten erleichtert,<br />
verringert vergaberechtliche Probleme bei der Beschaffung von IT-Produkten.<br />
9 Fazit<br />
Eine Gesamtschau der untersuchten rechtlichen Fragen lässt weder den Schluss auf ein<br />
erhöhtes Rechtsrisiko bei einer Migration zu proprietärer Software, noch einer Migration<br />
zu OSS zu. Behörden sollten sich deswegen nicht mit dem pauschalen Hinweis auf<br />
angebliche rechtliche Gefahren von einer Migration zu OSS abschrecken lassen. In der<br />
Summe erscheinen die Risiken von OSS und proprietärer Software als durchaus<br />
vergleichbar. Eine abschließende Evaluierung hängt allerdings in jedem Einzelfall von<br />
den in Frage stehenden Programmen, den Anbietern, den jeweiligen Vertragsgestaltungen<br />
und sonstigen Konditionen sowie der gewünschten Nutzung durch die<br />
Behörde ab.<br />
Neben den rechtlichen Risiken sollten die lizenzrechtlichen Vorteile von OSS bei der<br />
Auswahlentscheidung berücksichtigt werden. OSS Lizenzen gestatten die Nutzung der<br />
Programme in umfassender Weise. OSS darf von jedem Nutzer beliebig eingesetzt,<br />
verändert, vervielfältigt und verbreitet werden. Daraus ergeben sich für Behörden<br />
strategische Vorteile. Dienstleistungen und Anpassungen der Programme können nicht<br />
nur vom Anbieter des Programms, sondern von unterschiedlichen Serviceunternehmen<br />
erbracht werden. Dies kann zu Kostenvorteilen führen. Möchte die Behörde später den<br />
Umfang oder die sonstigen Bedingungen der Nutzung verändern, so bedarf es nicht<br />
eines kostenintensiven Nachkaufs von entsprechenden Nutzungsrechten. Gleiches gilt<br />
bei Anpassungen des Programms. Diese lizenzrechtlichen Vorteile sollten einbezogen<br />
werden, um zu einer sachgerechten Auswahlentscheidung zwischen OSS und proprietärer<br />
Software zu gelangen.<br />
Seite 72
C Thema: Wirtschaftliche Aspekte von Softwaremigrationen<br />
1 Vorwort<br />
In dem vorliegenden Abschnitt wird eine angepasste Methodik zur Durchführung von<br />
Wirtschaftlichkeitsbetrachtungen zur Migration von Basissoftwarekomponenten 64 auf<br />
Server- und Arbeitsplatz-Systemen offeriert. Grundlage dafür sind die Bewertungsmethoden<br />
und -kriterien der WiBe 4.1 65 , der IT-Updates 66 sowie des <strong>Migrationsleitfaden</strong>s<br />
1.0 67 .<br />
Mit den Hinweisen und Empfehlungen zur Durchführung von Wirtschaftlichkeitsbetrachtungen<br />
bei IT-Update- beziehungsweise Umstellungsvorhaben aus dem Jahre 2000<br />
existierte schon damals eine spezifische Anleitung. Diese wurde im Jahr 2003 durch den<br />
<strong>Migrationsleitfaden</strong> ergänzt. In 2004 folgte eine vollständig überarbeitete Ausgabe der<br />
WiBe in der <strong>Version</strong> 4.0 und im Jahre 2007 wurde die WiBe 4.1 veröffentlicht.<br />
In einer behördenübergreifenden Expertengruppe wurden die in diesen Basiswerken<br />
vorhandenen Kriterien und deren Definition auf die Anwendbarkeit speziell für Migrationen<br />
geprüft, selektiert und gegebenenfalls ergänzt beziehungsweise modifiziert. Somit<br />
ist ein Leitfaden entstanden, der dem Anwender gezielte Unterstützung für Migrationsvorhaben<br />
geben soll.<br />
2 Einleitung<br />
Wie die Diskussion über die auf dem Markt verfügbaren Studien zum Thema Total Cost<br />
of Ownership (TCO) beim Einsatz von Open Source Software (OSS) und proprietärer<br />
Software unter Linux zeigt, ist die Durchführung einer Wirtschaftlichkeitsbetrachtung für<br />
IT-Maßnahmen generell sehr schwierig und wird bei den häufig multidimensionalen Wirtschaftlichkeitsmodellen<br />
zu einer nahezu unlösbaren Aufgabe.<br />
Bei einer breit gefächerten und facettenreichen Analyse – was beim Vergleich von Kosten<br />
für Microsoft- und OSS/Linux-Plattformen zweifelsohne der Fall ist – gehört die Herstellung<br />
der Vergleichbarkeit der Untersuchungsobjekte sowie des richtigen Umfangs der<br />
Analyse zu den wesentlichen Aufgaben.<br />
Eine weitere Notwendigkeit bei der Untersuchung besteht in der Berücksichtigung der<br />
Nutzerstrukturen. Insbesondere die Größe von Organisationen und die unterschiedlichen<br />
Ausgangsszenarien der IT-Umgebung sind relevant für die Wirtschaftlichkeitsbetrach-<br />
64 Im Einzelnen sind darunter folgende Komponenten zu verstehen: Serverdienste, Standardsoftware,<br />
Bürokommunikation, Dokumente und Makros; siehe auch Kapitel I.C 4.<br />
65 Siehe hierzu WiBe 4.1, Empfehlung zur Durchführung von Wirtschaftlichkeitsbetrachtungen<br />
in der Bundesverwaltung, insbesondere beim Einsatz der IT, <strong>Version</strong> 4.1, Schriftenreihe der<br />
KBSt, Band 92, Januar 2007, www.kbst.bund.de.<br />
66 Siehe hierzu Hinweise und Empfehlungen zur Durchführung von Wirtschaftlichkeitsbetrachtungen<br />
bei IT-Update- beziehungsweise Umstellungsvorhaben auf Grundlage der IT-WiBe-<br />
97, Schriftenreihe der KBSt, ISSN 0179-7263´, Brief 04/2000, November 2000.<br />
67 Siehe hierzu <strong>Migrationsleitfaden</strong>, Leitfaden für die Migration der Basissoftwarekomponenten<br />
auf Server- und Arbeitsplatz-Systemen, <strong>Version</strong> 1.0, Schriftenreihe der KBSt, ISSN<br />
0179-7263, Band 57, Juli 2003.<br />
Seite 73
tung einer Migration. Häufig kann beobachtet werden, dass in kleineren Behörden (beispielsweise<br />
im kommunalen Sektor) die IT-Infrastruktur mit einfachen Mitteln und ohne<br />
intensive Ausbildung der Beteiligten aufgebaut und betrieben werden kann. Auf der anderen<br />
Seite erfordert der zuverlässige Betrieb von Infrastrukturen oder Rechenzentren<br />
für große und/oder spezialisierte Behörden und Datenzentralen mit Service Level Agreements<br />
einen erhöhten Ausbildungsstand der Mitarbeiter, organisatorische Regelungen<br />
für Ausfall- und Notfallzeiten sowie häufig eine andere Hardware-Ausstattung.<br />
Unter Berücksichtigung dieser Randbedingungen ist für die IuK-Wirtschaftlichkeit eine<br />
mehrdimensionale Betrachtung notwendig. Im Vorfeld der Untersuchung der IT-Kosten<br />
gilt, dass ein wesentlicher Beitrag zur Erhöhung der Wirtschaftlichkeit zunächst einmal<br />
durch personelle, organisatorische und rationalisierende Maßnahmen in den Verwaltungen<br />
erreicht werden kann. Darüber hinaus kann jedoch durch eine entsprechend ausgelegte<br />
IT-Strategie ebenfalls ein wesentlicher Beitrag zur Erhöhung der Wirtschaftlichkeit<br />
geliefert werden.<br />
Die Gesamtwirtschaftlichkeit der IT wird stark beeinflusst durch:<br />
� den Grad der funktionalen Abdeckung durch preiswerte Standardprodukte,<br />
� Qualität, Änderungsflexibilität und Entwicklungsfähigkeit der eingesetzten Standards,<br />
Technologien und Produkte,<br />
� effizientes Einführungs- und Systemmanagement,<br />
� bruchfreie Integration von Komponenten und Systemen in einer prozessorientierten<br />
Wertschöpfungskette,<br />
� gute (interne oder externe) Service-Organisation sowie hochwertiges Know-how,<br />
� wirtschaftliche Lebenszyklen der Produkte,<br />
� Kosten und Effizienz des Beschaffungsprozesses, sowie<br />
� Wettbewerb bei Produkten und Dienstleistungen<br />
Erst ein optimales Zusammenspiel all dieser Faktoren über einen längeren Betrachtungszeitraum<br />
bedingt und beeinflusst die Wirtschaftlichkeit insgesamt, sodass eine vereinfachte<br />
Betrachtung von Einzelkosten das Gesamtbild in der Regel nicht korrekt widerspiegeln<br />
kann.<br />
Neben der Ermittlung und dem Vergleich von Kosten bedeutet auch die Beurteilung der<br />
möglichen Nutzwerte einen wesentlichen Aspekt der Wirtschaftlichkeitsbetrachtung. Insbesondere<br />
in diesem Bereich spielen strategische Überlegungen und prognostizierte<br />
Vorteile eine wichtige Rolle, um sowohl die Ausgangssituation als auch die Perspektive<br />
ganzheitlich beurteilen zu können.<br />
Beispiel: Die auf eine vereinzelte Komponente bezogenen Mehrkosten können in der<br />
strategischen Betrachtung durch die erreichte Herstellerunabhängigkeit eine bessere<br />
Verhandlungsposition bei Softwarelizenzpreisen zu einem insgesamt deutlich günstigeren<br />
Gesamtergebnis führen. Diese Zusammenhänge einer Gesamtbetrachtung von Kosten<br />
und Nutzwert werden besonders deutlich im Ergebnis der „Client Studie der Landes-<br />
Seite 74
hauptstadt München― 68 , die im Ergebnis der monetären Wirtschaftlichkeitsbetrachtung<br />
eine Migration nach Windows XP und Office XP als wirtschaftlicher sieht und dagegen in<br />
der Gesamtbetrachtung von monetärer Wirtschaftlichkeit und Nutzwertbetrachtung ein<br />
Zielsystem mit Linux und Open Office.org präferiert 69 .<br />
Sowohl die Methode als auch das Ergebnis kann aus diesen Gründen lediglich als Hilfe<br />
bei der Ermittlung der eigenen Wirtschaftlichkeit und somit bei der Formulierung der eigenen<br />
IT-Strategie dienen.<br />
Das Hauptaugenmerk liegt auf der Methodenvermittlung. Berechnungsbeispiele werden<br />
nur und ausschließlich zu Verständniszwecken eingefügt.<br />
Eine Produktivitätsbetrachtung in der IT-Wertschöpfungskette findet im Umfang dieses<br />
Leitfadens nicht statt, da entsprechende neutrale Langzeituntersuchungen, insbesondere<br />
in der Verwaltung, nicht vorhanden sind. Sie würde auf Basis heutiger Erfahrungen<br />
und insbesondere im Hinblick darauf, dass es sich sowohl bei Linux/Unix- als auch Microsoft-Plattformen<br />
um reife Produkte mit langjähriger Entwicklungszeit handelt, voraussichtlich<br />
zu einem ausgewogenen Ergebnis führen.<br />
Weiterhin werden im Rahmen der nachfolgenden Wirtschaftlichkeitsbetrachtungen die<br />
Auswirkungen von besonderen Integrationsaspekten nicht tiefer gehend betrachtet. Eine<br />
detaillierte Berücksichtigung der Integrationsaspekte kann aufgrund der Zielsetzungen<br />
nur im Rahmen der Behörden und damit anforderungsspezifischen Wirtschaftlichkeitsbetrachtungen<br />
hinreichend qualifiziert erfolgen.<br />
3 Methodische Grundsätze<br />
Nr. 2.1 der Verwaltungsvorschrift zu § 7 Bundeshaushaltsordnung (BHO) führt aus:<br />
„Wirtschaftlichkeitsuntersuchungen in der Planungsphase bilden die Grundlage für die<br />
begleitenden und abschließenden Erfolgskontrollen. Wirtschaftlichkeitsuntersuchungen<br />
müssen mindestens Aussagen zu folgenden Teilaspekten enthalten:<br />
� Analyse der Ausgangslage und des Handlungsbedarfs,<br />
� Ziele, Prioritätsvorstellungen und mögliche Zielkonflikte,<br />
� relevante Lösungsmöglichkeiten und deren Nutzen und Kosten (einschl. Folgekosten),<br />
auch soweit sie nicht in Geld auszudrücken sind,<br />
� finanzielle Auswirkungen auf den Haushalt,<br />
� Eignung der einzelnen Lösungsmöglichkeiten zur Erreichung der Ziele unter Einbeziehung<br />
der rechtlichen, organisatorischen und personellen Rahmenbedingungen,<br />
68 Erstellt durch Unilog Integrata Unternehmensberatung GmbH, Unilog Management,<br />
unterstützt durch die Landeshauptstadt München, Direktorium AfID, Abt. 5, München 2003<br />
http://www.muenchen.de/vip8/prod2/mde/_de/rubriken/Rathaus/40_dir/limux/publikationen/<br />
clientstudie_kurz.pdf.<br />
69 Bei der Betrachtung der Ergebnisse der Studie lohnt es sich genau hin zu sehen. Zu einem<br />
wo die Gründe für die Vorteile von XP bei der monetären Wirtschaftlichkeit herrühren und<br />
zum anderen, woraus sich die Gründe Vorteile von Linux und OSS in einer Nutzwertbetrachtung<br />
herleiten lassen.<br />
Seite 75
� Zeitplan für die Durchführung der Maßnahme,<br />
� Kriterien und Verfahren für Erfolgskontrollen (siehe<br />
Nr. 2.2, VV zu § 7 BHO)."<br />
Diese Anforderungen stellen prinzipiell den Rahmen und die Struktur für die Wirtschaftlichkeitsbetrachtungen<br />
dar.<br />
Wirtschaftlichkeit<br />
(Kosten/ Nutzen)<br />
ermitteln<br />
Personaleinsatz<br />
planen<br />
Projektplan mit<br />
Maßnahmen<br />
erstellen<br />
Alternativen<br />
vergleichen<br />
Kostenansätze<br />
für Lösungen<br />
erheben<br />
Seite 76<br />
Ziele / Rahmen-<br />
Bedingungen<br />
identifizieren<br />
Technische<br />
Lösungsmöglichkeiten<br />
eruieren<br />
Vorgaben /<br />
Annahmen<br />
definieren<br />
Modell der<br />
Wirtschaftlichkeitsbetrachtung<br />
abstimmen<br />
Ausgangssituation<br />
erheben<br />
Abbildung 3: Regelkreis der Wirtschaftlichkeitsbetrachtung<br />
Ein wesentlicher Bestandteil sind die Zielvorstellungen der Behörde, in diesem Zusammenhang<br />
auch mögliche Zielkonflikte sowie Rahmenbedingungen in Form von Vorgaben<br />
und Annahmen. Die Abstimmung des Modells der Wirtschaftlichkeitsbetrachtung gehört<br />
auch in diesen Bereich. Daneben ist die Ist-Situation der zu migrierenden IT-Landschaft<br />
zu erheben, wobei Informationen zur Infrastruktur, der Hard- und Softwareprodukte, der<br />
IT-Fachverfahren sowie behördenspezifischer Dokumentvorlagen ermittelt werden. Auf<br />
dieser Basis werden technische Lösungsmöglichkeiten eruiert und mit Kostenansätzen<br />
unterlegt. Dazu gehören neben den Kosten für Hard- und Software auch die Aufwendungen<br />
für externes und internes Personal. Die sich nun anschließende Ermittlung der<br />
Wirtschaftlichkeit berechnet Kosten und Nutzen der IT-Maßnahme und die Auswirkungen<br />
auf den Haushalt. Zur Einschätzung der Personalkosten wird eine grobe Projektplanung<br />
erforderlich, die auch einen Zeitplan für die Durchführung der IT-Maßnahme beinhaltet.
3.1 Ziele und Rahmenbedingungen<br />
3.1.1 Ziele<br />
Vor der Durchführung einer jeden IT-Maßnahme sollten die im IT-Rahmenkonzept festgelegten<br />
oder aus strategischen Vorgaben abgeleiteten operativen Behördenziele festgestellt<br />
werden. Ein Abgleich dieser Ziele mit den IT-Maßnahmen reduziert mögliche<br />
Konflikte mit den Zielvorgaben und anderen Projekten. Weiterhin wird hiermit der Grundstein<br />
für die in Nr. 2.2 der VV zu § 7 BHO geforderten Zielerreichungskontrolle gelegt.<br />
Die Erstellung eines grundsätzlichen Ziel- und Anforderungssystems für die IT-<br />
Maßnahme hilft, mögliche Lösungen unabhängig von der Wirtschaftlichkeit auf ihre Eignung<br />
hin zu prüfen. Hiermit wird konkret die Definition von Anforderungskriterien angesprochen,<br />
die für die einzelnen Lösungsalternativen in Form von Nutzwertanalysen 70 zu<br />
bewerten sind. Einzelne dieser Kriterien oder Kriteriengruppen können im Rahmen der<br />
Zielerreichungskontrolle als Messgröße dienen.<br />
An dieser Stelle sei der Hinweis gegeben, dass die Definition der Zielsetzungen der Behörde<br />
und die damit verbundenen notwendigen Aktivitäten in einem separaten Strategieprozess<br />
gefunden werden sollten. Hierfür sind in der Praxis erprobte Methodiken verfügbar,<br />
die die Gesamt-Strategie einer Behörde definieren helfen und die strategische<br />
Ableitung für die IT unterstützen.<br />
3.1.2 Prämissen und Annahmen<br />
Jede IT-Maßnahme muss im Kontext einer vorhandenen IT-Landschaft, einer existenten<br />
Organisation und bestehender Gesetze, Vorschriften und Vorgaben durchgeführt werden.<br />
Daher wird es für den Erfolg der IT-Maßnahme zwingend notwendig, diese externen<br />
Einflussfaktoren zu identifizieren und zu dokumentieren. Auch die Ausgestaltung der<br />
Durchführung der Wirtschaftlichkeitsberechnung beinhaltet i. d. R. spezifische Festlegungen,<br />
die einmal generell genannt und kurz beschrieben werden sollten. Grundsätzliche<br />
Wertansätze, die nicht in der Wirtschaftlichkeitsrechnung selbst ermittelt werden,<br />
sondern von außerhalb des Systems übernommen werden (z. B. Personalkostenansätze).<br />
Solche Informationen, die eine wichtige Grundlage für die Berechnung darstellen,<br />
sind festzuhalten. Als Beispiel sind nachfolgend einige als „Annahmen― bezeichnete<br />
Rahmenbedingungen dargestellt.<br />
Der Wirtschaftlichkeitsbetrachtung können z. B. folgende Prämissen zugrunde liegen:<br />
1. Zur Berechnung von Kapitalwerten wird ein Zinssatz in Höhe des empfohlenen<br />
Nominalzinses aus den Personalkostensätzen des BMF verwendet.<br />
(Quelle: www.bundesfinanzministerium.de – Stichwort: Personalkostensätze)<br />
2. Personalkosten intern gemäß den Personalkostensätzen des BMF. (Quelle:<br />
www.bundesfinanzministerium.de – Stichwort: Personalkostensätze)<br />
70 siehe WiBe 4.0, Empfehlung zur Durchführung von Wirtschaftlichkeitsbetrachtungen in der<br />
Bundesverwaltung, insbesondere beim Einsatz der IT, <strong>Version</strong> 4.0 – 2004, „Berechnung<br />
der erweiterten Wirtschaftlichkeit", S. 80 ff.<br />
Seite 77
3. Personalkosten extern: durchschnittlich 1.200 €/PT<br />
4. Der Abschreibungszeitraum für Hardware und Software wird auf 5 Jahre<br />
festgelegt.<br />
5. Der Betrachtungszeitraum ist auf 8 Jahre definiert von 2005-2012.<br />
6. Die Betrachtung richtet sich auf Ist-Kosten.<br />
7. Prozessbezogene Produktivitätsveränderungen/-verbesserungen werden<br />
nicht berücksichtigt.<br />
3.2 Monetäre Analyse<br />
Für die monetären Auswirkungen der Vorhaben wird die Kapitalwertmethode angewandt.<br />
Als dynamisches Verfahren beurteilt sie Investitionsprojekte nach ihrem Kapitalwert, d. h.<br />
durch belastbare Erfassung der mit der Investition zusammenhängenden Finanzströme<br />
(Einnahmen und Ausgaben, haushaltswirksam und nicht haushaltswirksam), fokussiert<br />
auf einen gemeinsamen Bezugszeitpunkt. Einnahmen, Ausgaben und Ersparnisse, die<br />
mit dem Vorhaben zusammenhängen, können für die Jahre der wirtschaftlichen Nutzungsdauer<br />
im Voraus geplant werden. Für die künftigen Werte wird der aktuelle Zeitwert<br />
durch Abzinsung mit dem vom Bundesministerium der Finanzen festgelegten Zinssatz<br />
ermittelt.<br />
3.3 Grundsätzliche Überlegungen zur Kostenerhebung<br />
Nachfolgend werden grundsätzliche Überlegungen zur Erhebung der notwendigen Kosten<br />
durchgeführt. Dabei werden insbesondere die einzelnen Migrationsphasen und die<br />
damit verbundenen Maßnahmen sowie die Personalkosten und die Preisstrukturen der<br />
Anbieter in Augenschein genommen.<br />
3.3.1 Migrationsphasen<br />
Die Kosten für eine Migration lassen sich am besten identifizieren, wenn man sich ein<br />
Phasenmodell zugrunde legt und die mit den einzelnen Phasen verbundenen Maßnahmen<br />
definiert. Das Modell, das hier zugrunde gelegt wird, umfasst drei Hauptphasen<br />
(siehe Tabelle 9):<br />
� Planungsphase (Grob- und Feinkonzept) 71<br />
o Workshops<br />
(Kick-off, betroffene Fachabteilungen und IT-Disziplinen beteiligen, Identifizieren<br />
aller relevanten Themen, Prioritäten setzen, Entscheidungsbedarf<br />
identifizieren, Vorgehensweise und Projektplan festlegen, detaillierte Aufwandsschätzung,<br />
Teilprojekte festlegen und Arbeitsgruppen zuweisen)<br />
71 Die Wirtschaftlichkeitsbetrachtung begleitet dabei die gesamte Qualifizierungsphase.<br />
Seite 78
o Ist-Aufnahme<br />
(Anwendungslandschaft, Kommunikationsbeziehungen, Netzwerkinfrastruktur,<br />
zentrale Dienste, Betriebsverfahren, zukünftige Anforderungen)<br />
o Lösungsansätze/ Grob- und Feinkonzepte<br />
(Pflichtenheft erstellen, Projektplan verfeinern und Arbeitspakete definieren,<br />
technische Machbarkeit, Aufbau einer Integrations- und Testumgebung,<br />
Abbildung der übrigen Produktionsumgebung, Anwendungsintegration,<br />
Hardware-Auswahl und Evaluierung)<br />
� Realisierungsphase (Verfahrenserstellung/-entwicklung und Erprobung und Abnahme)<br />
o Konzepte, Verfahren, Installationen<br />
(detaillierte Festlegung des Funktionsumfangs, Integration in die übrige<br />
IT-Umgebung, Entwicklung der Installationsverfahren und Softwareverteilung,<br />
Integration in den Betrieb, Rollout-Planung, Pilotplanung, Ausbildung<br />
des DV-Personals)<br />
o Erprobung von Verfahren und Überprüfung der Funktion von Installationen<br />
(Feature Stop, repräsentative Benutzergruppe versorgen, Lasttests,<br />
Einbindung des UHD (User Help Desk), erstmalige Sizing-Kontrolle,<br />
Rückkopplung in Feinkonzept)<br />
� Einsatzphase (Einführung und Betrieb, Roll-Out)<br />
Bereitstellen von Funktionen im Netzwerk und Installationen in der Fläche (Inbetriebnahme<br />
der Installationsverfahren, Serversysteme vervielfältigen, Benutzerinformation<br />
und –schulung, Begleitung durch Projektteam, Übergabe in den Regelbetrieb)<br />
Planungsphase<br />
(Grob- und Feinkonzepte, Workshops,<br />
Lösungsansätze)<br />
1 Feinkonzept/Pflichtenheft<br />
2 Migrationsplan Infrastruktur<br />
3 Migrationsplan Systemmanagement<br />
4 Migrationsplan Client<br />
5 Verabschiedung konsolidierter Migrationsplan<br />
(fachliches Feinkonzept)<br />
Seite 79
Realisierungsphase<br />
(Verfahrenserstellung/-entwicklung,<br />
Konzepte, Verfahren, Installationen)<br />
(Erprobung und Abnahme von Verfahren,<br />
Funktionstest von Installationen)<br />
Einsatzphase<br />
(Einführung und Betrieb, Funktionen im<br />
Netzwerk bereitstellen, Installationen in<br />
der Fläche)<br />
3.3.2 Personalbedarf für die Migration<br />
6 Implementierung Basis Infrastruktur<br />
7 Infrastrukturdienste<br />
8 Systemmanagement<br />
9 Groupware - Messaging<br />
10 Terminalserver<br />
11 Design Desktop<br />
12 Installationsverfahren Desktop<br />
13 Migration Funktionen Systemmanagement<br />
14 Paketierung: 1 – 2 Applikationen / 1 MT<br />
15 Pilotbetrieb 1 Monat / 20 – 50 Benutzer<br />
16 Testlauf Migrationshandbuch<br />
17 Dokumentation Migrationshandbuch<br />
18 Migration der Daten-/Rechte Strukturen<br />
19 Migration der Client Strukturen<br />
Tabelle 9: Migrationsphasen<br />
Personalaufwand entsteht bei der Migration an den unterschiedlichsten Positionen. In<br />
Tabelle 9 sind die einzelnen Phasen in migrationstypische Aktivitäten untergliedert worden.<br />
Zu diesen Aktivitäten sind zusätzlich die Umstellung der Dokumente und Makros<br />
sowie Projektmanagement, Qualitätssicherung und vor allen Dingen die Anwenderbetreuung<br />
zu planen. Die nachfolgenden Tabellen 72 geben beispielhaft einen Überblick<br />
über die prozentuale Verteilung der Personentage- und der Personalkosten-Planung 73 .<br />
In der Abbildung 4 werden für drei Beispiel-Alternativen Personalaufwände in den einzelnen<br />
Aktivitäten dargestellt. In der Abbildung 5 werden für die drei Beispiel-Alternativen<br />
die Personalaufwendungen um die oben aufgeführten zusätzlichen Aktivitäten mit denen<br />
der Migrationsphasen zu einer Gesamtsicht zusammengeführt.<br />
72<br />
Da die Tabellen keine Nachkommastellen enthalten, können sich in Einzelfällen Rundungsdifferenzen<br />
ergeben.<br />
73<br />
Die hier abgebildeten Daten stehen beispielhaft für eine größere Behörde.<br />
Seite 80
Phase Nr Beschreibung<br />
Seite 81<br />
Variante 1 Variante 2 Variante 3<br />
intern extern intern extern intern extern<br />
Su Kosten Gesamt € 391.972 329.944 385.552<br />
Su Kosten intern/extern € 84.972 307.000 72.944 257.000 98.552 287.000<br />
Su Personentage (PT) Gesamt 526,0 445,0 541,0<br />
Su Personentage (PT) intern/extern 219,0 307,0 188,0 257,0 254,0 287,0<br />
Planungsphase<br />
(Workshops,<br />
Lösungsansätze,<br />
Grob- und Feinkonzepte)<br />
Realisierungsphase<br />
(Konzepte, Verfahren,<br />
Installationen)<br />
(Erprobung von Verfahren,<br />
Funktionstest von<br />
Installationen)<br />
Einsatzphase (Funktionen im<br />
Netzwerk bereitstellen,<br />
Installationen in der Fläche)<br />
Migr.phasen<br />
62,0 122,0 62,0 107,0 62,0 122,0<br />
1 Feinkonzept / Pflichtenheft<br />
30,0 30,0 30,0 30,0 30,0 30,0<br />
2 Migrationsplan Infrastruktur<br />
10,0 30,0 10,0 25,0 10,0 30,0<br />
3 Migrationsplan Systemmanagement 10,0 30,0 10,0 25,0 10,0 30,0<br />
4 Migrationsplan Client<br />
10,0 30,0 10,0 25,0 10,0 30,0<br />
5 Verabschiedung konsoliderter Migr.plan 2,0 2,0 2,0 2,0 2,0 2,0<br />
137,0 155,0 111,0 130,0 132,0 135,0<br />
6 Implementierung Basis Infrastruktur<br />
72,0 98,0 51,0 77,0 65,0 77,0<br />
7 Infrastrukturdienste<br />
15,0 17,0 8,0 10,0 15,0 10,0<br />
8 Systemmanagement<br />
20,0 25,0 10,0 15,0 20,0 25,0<br />
9 GroupWare - Messaging<br />
12,0 16,0 8,0 12,0 12,0 12,0<br />
10 Terminalserver<br />
20,0 35,0 20,0 35,0 15,0 30,0<br />
11 Design Desktop<br />
5,0 5,0 5,0 5,0 3,0<br />
Paketierung für APC-Implementierung 25,0 27,0 20,0 23,0 27,0 23,0<br />
12 Installationsverfahren Desktop 5,0 7,0 5,0 7,0 4,0 7,0<br />
13 Migration Funktionen Systemmgmt. 15,0 15,0 10,0 11,0 18,0 11,0<br />
14 Paketierung: 1-2 Applikationen / 1MT 5,0 5,0 5,0 5,0 5,0 5,0<br />
Pilot und Test 40,0 30,0 40,0 30,0 40,0 35,0<br />
15 Pilotbetrieb 1 Monat / 20 - 50 Benutzer 25,0 15,0 25,0 15,0 25,0 20,0<br />
16 Testlauf Migrationsverfahren<br />
10,0 5,0 10,0 5,0 10,0 5,0<br />
17 Dokumentation Migrationshandbuch<br />
5,0 10,0 5,0 10,0 5,0 10,0<br />
20,0 30,0 15,0 20,0 60,0 30,0<br />
18 Migration der Daten-/Rechte Strukturen 10,0 20,0 5,0 10,0 10,0 20,0<br />
19 Migration der Client Strukturen<br />
10,0 10,0 10,0 10,0 50,0 10,0<br />
Abbildung 4: Beispiel: Personalaufwendungen in den Migrationsphasen<br />
Szenarien Variante 1 Variante 2 Variante 3 Variante 4<br />
Personentage Faktor intern extern intern extern intern extern<br />
Su Kosten Gesamt € 765.795 703.411 709.044<br />
Su Kosten intern/extern € 234.938 530.857 218.982 484.429 230.717 478.327<br />
Su PT Gesamt 1136,4 1048,8 1073,0<br />
Su PT intern/extern 605,5 530,9 564,4 484,4 594,6 478,3<br />
Planung 162,2 220,2 135,7 194,7 159,1 199,7<br />
Realisierung 40,8 30,6 40,8 30,6 40,8 35,7<br />
Einsatz 20,4 30,6 15,3 20,4 40,2 30,6<br />
Dokumente/ Anwendungen 50,0 50,0 50,0 50,0 25,0 25,0<br />
PM/ QS/ Anwenderbetreuung 332,0 199,4 322,6 188,7 329,5 187,3<br />
- davon Projekt-Mgmt. (PM) 15,00% 41,0 49,7 36,3 44,4 39,8 43,7<br />
- davon Qualitätssicherung (QS) 15,00% 41,0 49,7 36,3 44,4 39,8 43,7<br />
- davon Anwenderbetreuung 0,00% 0,0 0,0 0,0 0,0 0,0 0,0<br />
- davon Anwenderbetreuung 1) absolut 250,0 100,0 250,0 100,0 250,0 100,0<br />
3.3.3 Preisstrukturen der Anbieter<br />
Abbildung 5: Beispiel: Gesamtpersonalaufwand<br />
Einen weiteren wesentlichen Bereich stellen neben den Personalaufwänden die Kosten<br />
für Soft- und Hardware dar. Hier sind i. d. R. Preisinformationen bei den Herstellen / Lieferanten<br />
einzuholen. Diese Daten sollten für unterschiedliche Finanzierungsmodelle abgefragt<br />
werden. So kann es im Einzelfall zu spürbaren Unterschieden zwischen Kauf,<br />
Miete und Leasing kommen. Basis bilden generell die Preislisten der Anbieter. In jedem
Fall sind für diese Informationen jedoch evtl. vorhandene Rahmenabkommen der Behörde<br />
mit den Anbietern zu verwenden.<br />
Da sich Migrationen in der Regel auf der Serverseite und gegebenenfalls zusätzlich auf<br />
der Clientseite abspielen, wird die Erhebung der Preisinformationen in diese beiden Bereiche<br />
gegliedert.<br />
3.3.3.1 Server<br />
In diesem Bereich wird folgende Struktur empfohlen:<br />
Server<br />
Software<br />
Hardware<br />
Betriebssystem Betriebssystem<br />
Infrastrukturdienste Directory<br />
Seite 82<br />
Anmeldedienst<br />
File<br />
Druck<br />
DNS/ DHCP/ BOOTP<br />
Systemmanagement Softwareverteilung<br />
Inventarisierung<br />
Helpdesk<br />
Systemüberwachung<br />
Netzwerküberwachung<br />
Datenbanken DBMS (Datenbanken-<br />
Managementsysteme)<br />
Groupware & Messaging Groupware<br />
Terminalserver<br />
Mail<br />
Tabelle 10: Erhebungsstruktur Preisinformationen Hard-/ Software - Server
3.3.3.2 APC<br />
Auch auf der Seite der Arbeitsplatzrechner hat sich nachfolgende Strukturierung als hilfreich<br />
erwiesen:<br />
Arbeitsplatzcomputer<br />
Software<br />
Hardware<br />
Betriebssystem Betriebssystem<br />
Standardsoftware Dokumentenaustauschformat,<br />
PDF-Betrachter/-Erstellung<br />
Terminalserver (Client Zugriff)<br />
Seite 83<br />
Webbrowser und Mailclient<br />
Textverarbeitung<br />
Tabellenkalkulation<br />
Präsentation<br />
Komprimierung<br />
Werkzeuge (Bildbearbeitung, etc.)<br />
Tabelle 11: Erhebungsstruktur Preisinformationen Hard-/ Software - Arbeitsplatzcomputer<br />
Diese Informationen sind wiederum in der Projektmatrix abzulegen, um sie der Berechnung<br />
der Wirtschaftlichkeit zugänglich zu machen.<br />
3.4 Nutzwert-Analyse<br />
Gilt es bei der Entscheidungsfindung nicht monetär erfassbare Auswirkungen mit einzubeziehen,<br />
stehen für Migrationen selektierte Kriterien zur Verfügung (siehe Kapitel I.C<br />
5.3.1, „Dringlichkeitskriterien― und Kapitel I.C 5.3.2, „Qualitativ-strategische Kriterien―).<br />
Die Nutzwertanalyse der WiBe für Migrationen verfolgt dasselbe Prinzip wie die WiBe<br />
4.0 74 und bewertet einzeln und unabhängig voneinander gewichtete Zielkriterien, um sie<br />
anschließend zu einer Gesamtbewertung zusammenzufassen. Hier werden die sogenannten<br />
qualitativen Faktoren über Bewertungsskalen quantifiziert.<br />
74 siehe WiBe 4.0, Empfehlung zur Durchführung von Wirtschaftlichkeitsbetrachtungen in der<br />
Bundesverwaltung, insbesondere beim Einsatz der IT, <strong>Version</strong> 4.0 – 2004, S. 80 ff.
Für die Ergebnisauswertung empfehlen wir in zwei Schritten vorzugehen:<br />
1. Die Ergebnisse der monetären Wirtschaftlichkeitsbetrachtung für Migrationen haben<br />
Priorität. Hier werden Kosten und Nutzen der Maßnahmen nach der oben<br />
aufgeführten Methodik 75 in einer Rentabilitätskennzahl dargestellt.<br />
2. Die Ergebnisse der Nutzwertanalyse für Migrationen führen zu Kennzahlen für<br />
folgende Bereiche:<br />
o Dringlichkeit der IT-Maßnahme<br />
o qualitativ-strategische Bedeutung der IT-Maßnahme<br />
Anmerkung: Migrationen haben grundsätzlich keine oder nur geringe unmittelbare<br />
Effekte auf Kunden der Behörde. Daher werden die Kriterien für externe Effekte<br />
der IT-Maßnahme bei Migrationen, soweit erforderlich, im Bereich der qualitativ-strategischen<br />
Kriterien behandelt.<br />
Dieser zweite Schritt dient primär dem Fall, dass eine Wirtschaftlichkeitsbetrachtung<br />
nach monetären Gesichtspunkten grundsätzlich nicht ausreicht beziehungsweise<br />
keine eindeutige Rentabilitätsaussage liefert. Aufgrund von Dringlichkeits-<br />
, Strategiekriterien kann das Projekt stets unabhängig von monetären Kriterien<br />
eine hohe Priorität zur Durchführung erhalten.<br />
Die Methodik der Nutzwertanalyse ist ausführlich in den Unterlagen der WiBe 4.0 beschrieben<br />
und wird aus diesen Gründen hier nicht mehr aufgeführt.<br />
3.5 Vollkostenansatz<br />
In der Wirtschaftlichkeitsbetrachtung ist grundsätzlich der Vollkostenansatz zu verwenden.<br />
D. h. alle unmittelbar und mittelbar monetär quantifizierbaren Kosten und Nutzen<br />
sind der IT-Maßnahme zuzuordnen. Daraus ergibt sich die Erfordernis auch die nicht<br />
haushaltswirksamen 76 Kosten zu berücksichtigen.<br />
3.6 Vergleichbarkeit<br />
Um Vergleichbarkeit der verschiedenen Auswertungen zu gewährleisten, wird die Wirtschaftlichkeitsbetrachtung<br />
in zwei Szenarien durchgeführt:<br />
� die Migration einzelner oder mehrerer Migrationsobjekte 77 (Teilmigration), bei klar<br />
abgrenzbaren Produkten oder Produktgruppen 78<br />
� die Gesamtmigration, d. h. Migration einer kompletten DV-Umgebung - Server,<br />
Clients, Infrastruktur, Fachanwendungen<br />
Für die Migration von Migrationsobjekten sowie bei einer Gesamtmigration sind die selektierten<br />
Bewertungskriterien der WiBe für Migrationen anzuwenden. Da im Falle von<br />
75 siehe die Kapitel zur WiBe 4.0<br />
76 Haushaltswirksame Kosten und Nutzen entstehen erst aufgrund der betrachteten Maßnahme<br />
und führen im kommenden Haushaltsplan zu Mehr- oder Minderbeantragungen.<br />
77 Siehe hierzu im Kapitel Vorgehensweise die Abgrenzung der Objekte.<br />
78 Desktop-Anwendungen als Migrationsobjekte mit Textverarbeitung, Tabellenkalkulation,<br />
Grafik und Internetbrowser als Produkte.<br />
Seite 84
Gesamtmigrationen oftmals auch die Umstellung von Fachanwendungen diskutiert wird,<br />
sei an dieser Stelle darauf verwiesen, dass solche Vorhaben in separaten Projekten zu<br />
realisieren sind. Dafür werden auch eigenständige Wirtschaftlichkeitsbetrachtungen erforderlich.<br />
Die darin identifizierten Ersparnisse können durchaus zu einem entsprechenden<br />
Teil der Migrationsmaßnahme zugerechnet und hier dargestellt werden.<br />
Ein weiterer Aspekt wird dadurch hinzugefügt, dass vergleichende Wirtschaftlichkeitsanalysen<br />
nur bei technisch und funktional vergleichbaren Alternativen Sinn macht. Als<br />
vergleichbar können folgende Einsatzbereiche erachtet werden:<br />
� Infrastruktur-Dienste<br />
o File-Dienste<br />
o Print-Dienste<br />
o Anmeldungs-Dienste<br />
o Netzwerk-Dienste<br />
� Messaging- und Groupware-Systeme<br />
� Office-Pakete<br />
� Datenbank- und Web-Anwendungsserver<br />
3.7 Einsatzbereiche<br />
Um ein aussagekräftiges Ergebnis zu erhalten, wird die Analyse in einem aus mehreren<br />
Einsatzbereichen bestehenden Gesamtkontext durchgeführt. Die Gesamtbetrachtung<br />
der zu untersuchenden Kosten umfasst dabei folgende Einsatzfelder:<br />
� Server-Infrastruktur<br />
o Datei-Dienste<br />
o Druck-Dienste<br />
o Anmeldedienste<br />
o Netzwerkdienste<br />
� Desktop-Infrastruktur<br />
o Office<br />
o Web<br />
� Messaging/Groupware<br />
� Datenbank- und Web-Anwendungen<br />
Obwohl sicherlich nicht vollständig, bildet diese Aufzählung einen gemeinsamen Nenner<br />
für die meisten Infrastrukturbereiche einer Behörde.<br />
Die Migration der IT-Fachverfahren stellt unterschiedliche Anforderungen an Organisationseinheit<br />
und die Dienstleister / Lieferanten der Software.<br />
Seite 85
Werden die IT-Fachverfahren in verschiedene Technik-Cluster gegliedert (Terminal,<br />
Web, Dos, MS Access, Makros, Standalone), so bilden sich drei Risikoklassen für die<br />
Migration heraus (siehe Tabelle 12):<br />
1. Einfache Migration möglich<br />
2. Mittlerer Schwierigkeitsgrad; Migrationsweg variabel, Emulation, Terminalserver,<br />
Ablösung<br />
3. Migration schwierig; in der Regel durch Hersteller<br />
Die zu analysierenden Fachverfahren können entsprechend der Informationserhebung<br />
und auf Basis der Migrationsmatrix beispielhaft wie folgt beurteilt werden:<br />
Typ Risiko Migrationsszenario<br />
Terminal i.d.R. vernachlässigbar nicht zutreffend<br />
Web i.d.R. browserabhängig z. B. Standard-Konformität herstellen<br />
DOS Einfacher Schwierigkeitsgrad z. B. Dos-Emulation,<br />
MS Access 79 Mittler bis hoher Schwierigkeitsgrad<br />
möglich; vornehmliche Risikobereiche:<br />
hohe Anzahl, keine Dokumentation,<br />
kein Hersteller, kaum Akzeptanz<br />
Sonstiges (Vorlagen,<br />
Makros,<br />
Formulare)<br />
Alle Schwierigkeitsgrade möglich,<br />
abhängig von Situation, vornehmliche<br />
Risikobereiche: Anzahl und Komplexität<br />
der Makros<br />
C/S Migration i. d. R. schwierig<br />
Portierung nur durch Hersteller möglich<br />
Seite 86<br />
Terminalserver und<br />
Ablösung<br />
z. B.: Neuentwicklung durch Entwickler<br />
(gegebenenfalls Web, Access2WEB),<br />
Emulation (WINE), Terminalserver,<br />
Ablösung<br />
z. B.: Beibehaltung der Office-<br />
Anwendungen durch Emulation, Portierung<br />
nach OpenOffice.org, Ablösung<br />
Portierung durch Hersteller, Möglichkeiten:<br />
Web, Emulation,<br />
Terminalserver, Ablösung<br />
Tabelle 12: Erhebungsstruktur Preisinformationen Hard-/ Software - Arbeitsplatzcomputer<br />
4 Analyse der Ausgangssituation<br />
Die Analyse der Ausgangssituation beschäftigt sich zum einen mit der hardwaretechnischen<br />
Infrastruktur (Server, APC, Netzwerk und Druck) und andererseits mit den vorhandenen<br />
Softwarediensten und -systemen zum Betrieb der IT-Landschaft und zur Un-<br />
79 Hierbei sind Eigenentwicklungen (z. B. C++, etc.) als IT-Fachanwendungen zu betrachten,<br />
die per Definition nicht in dieser Studie berücksichtigt werden, sondern als eigenständiges<br />
Projekt abzuwickeln sind.
terstützung der Geschäftsprozesse. Zur Erhebung 80 hat sich folgende Struktur in verschiedenen<br />
Projekten bewährt:<br />
� Infrastruktur Server<br />
� Infrastruktur APC<br />
� Infrastruktur Netz<br />
� Infrastruktur Druck<br />
� Serverdienste<br />
� Standardsoftware<br />
� Office<br />
� IT-Fachverfahren<br />
� Dokumentvorlagen<br />
4.1 Infrastruktur Server<br />
Die Datenerhebung für die eingesetzten Server soll Aufschluss darüber geben, ob mit<br />
dem vorhandenen Material eine Migration bewerkstelligt werden kann, oder ob auch hier<br />
neue Hardware benötigt wird. Folgende Informationen (siehe Abbildung 6) sind erforderlich:<br />
Dienst/Einsatz, Distribution, <strong>Version</strong>, Erstinstallation, Anzahl gesamt, Alter (< 1 Jahr,<br />
1 – 3 Jahre, > 3 Jahre), Investitionen beziehungsweise Anschaffungs-/Leasing- und<br />
Wartungskosten.<br />
RZ - Infrastruktur<br />
- Server<br />
Name Dienst/ Einsatz Distribution <strong>Version</strong> Erst-Inst. Gesamt Alter in Jahren Invest/ Kosten Anmerkungen<br />
Summen<br />
4.2 Infrastruktur APC<br />
Seite 87<br />
< 1 1 - 3 > 3<br />
Abbildung 6: Beispiel Erhebungsbogen - Infrastruktur der Server<br />
Niveau. Beispielsweise werden neben Rechnern mit aktuellen Systemumgebungen auch<br />
Geräte mit einem Alter von bis zu 8 Jahren (und den entsprechend alten Systemumgebungen)<br />
eingesetzt. Da bestimmte Migrationsszenarien in diesem Bereich enorme Auswirkungen<br />
haben (z. B. muss für neue Softwareprodukte neue Hardware beschafft wer-<br />
80 Die in den folgenden Ausführungen gezeigten Beispiele zu den verschiedenen Erhebungsbereichen<br />
können aus dem Internet herunter geladen werden. siehe www.kbst.bund.de
den, da diese auf älteren Systemumgebungen nicht laufen), kommt den hier zu erhebenden<br />
Informationen große Bedeutung zu.<br />
Die vorhandenen Clients können nun in Gruppen zusammengefasst werden. In manchen<br />
Fällen wurde dies schon im Rahmen einer Inventarisierung und der Aufnahme der<br />
Informationen in eine Anlagenbuchhaltung durchgeführt. Ist dies nicht der Fall, so können<br />
sinnvolle Gruppen für die Clients gebildet werden, die sich vornehmlich an Majoritäten<br />
der zu erhebenden Informationen (siehe Abbildung 7) ausrichten können. Diese sind<br />
folgendermaßen strukturiert: Betriebssystem, Anzahl Arbeitsplatzcomputer (APC) im<br />
Netz, zentrale Installation, zentrale Administration, Leistungsfähigkeit (z. B.: Alter > 5 - 8<br />
Jahre, Prozessor < 100 MHz, Memory < 32MB; Alter > 3 - 5 Jahre, Prozessor 100-400<br />
MHz, Memory < 64MB; Alter > 2 - 3 Jahre, Prozessor 400 - 700 MHz, Memory 64 - 128<br />
MB; Alter bis zu 2 Jahre, Prozessor > 700 MHz, Memory > 128MB), Eingabehilfen.<br />
RZ - Infrastruktur<br />
- Arbeitsplatzrechner (APC [1])<br />
Leistungsfähigkeit [2] … davon …<br />
Erhebungsbereich [3] Betriebs- Anzahl Alter 8 Jahre 5 Jahre 3 Jahre 2 Jahre zentrale zentrale Eingabe- Anmerkungen<br />
System APCs Prozessor < 100 MHz 100 - 400 MHz 400 - 700 MHz, > 700 MHz Installation Administration Hilfen<br />
im Netz Memory < 32 MB < 64MB 64 - 128 MB > 128 MB<br />
Summen<br />
APC-Kat. 1<br />
APC-Kat. 2<br />
APC-Kat. 3<br />
APC-Kat. 4<br />
Einzelplatz-PC<br />
[1] APC = Arbeits-Platz-Computer<br />
[2] Die Kriterien der Leistungsfähigkeit bitte an die aktuelle Situation anpassen.<br />
[3] Die Erhebungsgruppen (hier beispielhaft mit "APC-Kat. 1 bis 4" bezeichnet) bitte an der eigenen Situation orientieren und anpassen.<br />
Abbildung 7: Beispiel Erhebungsbogen - Infrastruktur der Arbeitsplatz-Computer<br />
4.3 Infrastruktur Netzwerk<br />
Die vorhandene Netzwerkausstattung (siehe Abbildung 8) stellt die Basis für die Zusammenarbeit<br />
der APCs mit den Servern dar. Zur Definition von Migrationsszenarien<br />
stellt dieser Bereich eine nicht zu vernachlässigende Größe dar.<br />
� Netzausstattung<br />
o Ethernet<br />
o ATM<br />
o Token ring<br />
� Geschwindigkeit<br />
� Router<br />
� Switches<br />
Seite 88
RZ - Infrastruktur<br />
- Netzwerk<br />
Erhebungsbereich Anzahl Betriebs- eingesetztes Hersteller Anzahl Anzahl Schnittstellen Anmerkungen<br />
eingesetzte System Produkt Lizenzen Clients zu Office-<br />
Systeme Anwendungen<br />
Netzwerkinfrastruktur<br />
Netzausstattung<br />
- Ethernet<br />
- ATM<br />
- Tokenring<br />
Geschwindigkeit<br />
Router<br />
Switches<br />
Abbildung 8: Beispiel Erhebungsbogen - Infrastruktur des Netzwerks<br />
4.4 Infrastruktur Druck<br />
Drucker ergänzen die Informationen zu der bisher erhobenen Hardware. Manche Softwareprodukte<br />
sind nicht mit allen Druckertypen kompatibel. Daher ist zur Verifizierung<br />
möglicher Migrationsszenarien auch deren Erhebung notwendig. Folgende Daten (siehe<br />
Abbildung 9) sind zu ermitteln: Anzahl gesamt, Alter (< 1 Jahr, 1 – 3 Jahre, > 3 Jahre),<br />
Investitionen beziehungsweise Anschaffungs-/ Leasing- und Wartungskosten.<br />
RZ - Infrastruktur<br />
- Drucker<br />
Seite 89<br />
Alter in Jahren Kosten für<br />
Erhebungsbereich < 1 1 - 3 > 3 Gesamt Kauf Leasing Wartung Anmerkungen<br />
Gesamt Kosten<br />
Anzahl<br />
Netzwerkdrucker<br />
Faxgeräte<br />
Netzwerkarten<br />
Grafikkarten<br />
Beschleunigung<br />
Scanner<br />
Arbeitsplatzdrucker<br />
Aufstellung der Treiber für Arbeitsplatzdrucker<br />
4.5 Serverdienste<br />
Summen<br />
Abbildung 9: Beispiel Erhebungsbogen - Drucker-Infrastruktur<br />
In diesem Bereich werden die zentralen auf Servern im Rechenzentrum verfügbaren<br />
Dienste erhoben – z. B.:<br />
� Infrastrukturdienste<br />
o Dateiablage (File-Server)<br />
o Druckdienste (Print-Server)
o Netzwerkdienste<br />
� DNS<br />
� DHCP<br />
� WINS<br />
� RAS<br />
� VPN<br />
� BOOTP<br />
o Authentisierungsdienste<br />
� System und Managementdienste<br />
o Softwareverteilung<br />
o System- und Netzwerküberwachung<br />
o Datensicherungssysteme<br />
� Verzeichnisdienste<br />
o NDS<br />
o OpenLDAP<br />
� Messaging und Groupware<br />
� Terminalserver<br />
� Dokumentenmanagementsysteme<br />
Die Erhebung wird in folgende Bestandteile (siehe Abbildung 10) gegliedert: Anzahl eingesetzte<br />
Systeme, Betriebssystem, eingesetztes Produkt, Hersteller, Anzahl Lizenzen,<br />
Anzahl Clients, Schnittstellen zu Office-Anwendungen.<br />
Seite 90
RZ - Infrastruktur<br />
- Zentrale Serverdienste<br />
Erhebungsbereich [1] Anzahl Betriebs- eingesetztes Hersteller Anzahl Anzahl Schnittstellen Anmerkungen<br />
eingesetzte System Produkt Lizenzen Clients zu Office-<br />
Systeme Anwendungen<br />
Infrastrukturdienste<br />
Dateiablage (File-Server)<br />
Druckdienste (Print-Server)<br />
Netzwerkdienste<br />
- DNS<br />
- DHCP<br />
- WINS<br />
- RAS<br />
- VPN<br />
- BOOTP<br />
…<br />
Authentisierungsdienste<br />
System- und Managementdienste<br />
Softwareverteilung<br />
System- und Netzwerküberwachung<br />
Datensicherungssysteme<br />
Verzeichnisdienste<br />
NDS<br />
OpenLDAP<br />
Messaging & Groupware<br />
eGroupware<br />
Terminalserver<br />
Dokumentenmanagementsysteme<br />
[1] Die Erhebungsgruppen bitte an der eigenen Situation orientieren und anpassen.<br />
Abbildung 10: Beispiel Erhebungsbogen - Erhebungsbogen für Serverinfrastrukturdienste<br />
4.6 Standardsoftware<br />
Standardsoftware stellt häufig einen erheblichen Anteil an den Softwarelizenzen dar. Die<br />
eingesetzten beziehungsweise lizenzierten Produkte werden in folgender Strukturierung<br />
(siehe Abbildung 11) erhoben: Hersteller, Verwendungszweck, Lizenzen (Anzahl heute,<br />
künftig benötigt), Kosten heute und künftig (Lizenzen und Wartung).<br />
Standard-Software<br />
Lizenzen Kosten heute Kosten künftig<br />
Name <strong>Version</strong> Hersteller Verwend.Zweck Anz.heute künftig Lizenzen Insurance Lizenzen Insurance Anmerkungen<br />
Acrobat Reader<br />
Mozilla<br />
Open Office<br />
Outlook<br />
WinZip<br />
Access<br />
Excel<br />
Powerpoint<br />
Word<br />
Abbildung 11: Beispiel Erhebungsbogen - Standardsoftware<br />
4.7 Dokumentvorlagen und Makros<br />
Ein wesentlicher Faktor für die Migrationsaufwände stellen die umzustellenden Dokumentvorlagen<br />
(z. B. in der Textverarbeitung, der Tabellenkalkulation, etc.) und Makros<br />
dar. Hier baut die Praxis bei der Erhebung oftmals recht große Hürden auf – in vielen<br />
Fällen existieren keine Übersichten über diese Dokumente. Dies betrifft neben den ser-<br />
Seite 91
verbasierten Dateien vor allem die, die auf den Arbeitsplatzrechnern der Anwender liegen.<br />
In Abhängigkeit der Güte und Akzeptanz eventuell vorhandener Standard-Verfahren für<br />
Prozessunterstützung nutzen die Anwender diese oder haben sich auf ihren Rechnern<br />
eigene Makro-Anwendungen (je nach Programmierkenntnissen) erstellt.<br />
Soll die Migration für die gesamte Behörde zu einem Erfolg werden und vor allen Dingen<br />
von den Anwendern vor Ort akzeptiert werden, so ist es unerlässlich, diesen Bereich „in<br />
den Griff― zu bekommen. Das bedeutet, dass ernsthafte Versuche unternommen werden<br />
sollten, die Dokumentvorlagen und Makros zu erheben und in nachfolgend vorgeschlagene<br />
Klassifizierung (siehe Tabelle 13) einzuordnen.<br />
Dokumente Klassifizierung<br />
Dokumentvorlagen geringe Komplexität, Erstellung < 0,5 Tage<br />
mittlere Komplexität, Erstellung 0,5-2 Tage<br />
hohe Komplexität, Erstellung 2-4 Tage<br />
sehr hohe Komplexität, Erstellung > 4 Tage<br />
Makros geringe Komplexität, Erstellung < 0,5 Tage<br />
Office<br />
- Dokumentvorlagen und Makros<br />
mittlere Komplexität, Erstellung 0,5-2 Tage<br />
hohe Komplexität, Erstellung 2-4 Tage<br />
sehr hohe Komplexität, Erstellung > 4 Tage<br />
Tabelle 13: Klassifizierung von Dokumentvorlagen und Makros<br />
Erhebungsbereich Dokumentvorlagen Makroanwendungen<br />
Komplexität der Erstellung Komplexität der Erstellung<br />
gering mittel hoch sehr hoch gering mittel hoch sehr hoch<br />
Programm<br />
Verzeichnis Anzahl<br />
Su<br />
Tage<br />
< 0,5 0,5 - 2 2 - 4 > 4 < 0,5 0,5 - 2 2 - 4 > 4 Anmerkungen<br />
Word<br />
Excel<br />
PowerPoint<br />
Access<br />
. . Sonstige . .<br />
Unverzichtbare, produktive …<br />
Abbildung 12: Beispiel Erhebungsbogen - Office<br />
Seite 92
4.8 IT-Fachverfahren<br />
Für die Fachverfahren treffen die gleichen Einschätzungen zu, wie für die Dokumentvorlagen<br />
und Makros. Diese Verfahren sollen die tägliche Arbeit der Anwender unterstützen.<br />
Bietet die Migration die Chance, diese in manchen Punkten zu verbessern (wenn<br />
zum Beispiel neu oder umprogrammiert werden muss), so wird sich automatisch eine<br />
Akzeptanz der Anwender einstellen. Andernfalls muss nach der Migration mindestens<br />
der vorhandene Standard wieder hergestellt werden. Die Fachverfahren sollten in folgenden<br />
Informationsclustern aufgenommen werden:<br />
Architektur Nutzer Client-/ Serverbetriebssysteme<br />
Datenbanksysteme Applikationsserver Benutzerverwaltung<br />
Rechteverwaltung Schnittstellen Hosting<br />
Verfahrensentwicklung Ausprägung Ausblick<br />
Kosten Anmerkungen<br />
Tabelle 14: Informationscluster für die Erhebung der IT-Fachverfahren<br />
Für die Fachverfahren treffen die gleichen Einschätzungen wie für die Dokumentvorlagen<br />
und Makros zu. Diese Verfahren sollen die tägliche Arbeit der Anwender unterstützen.<br />
Bietet die Migration die Chance, diese in manchen Punkten zu verbessern (wenn<br />
z. B. neu oder umprogrammiert werden muss), so wird sich automatisch eine Akzeptanz<br />
der Anwender einstellen. Andernfalls muss nach der Migration mindestens der vorhandene<br />
Standard wieder hergestellt werden. Die Fachverfahren sollten in folgenden Informationsclustern<br />
aufgenommen werden:<br />
� Architektur und Nutzer<br />
� Client-/ Serverbetriebs-, Datenbanksysteme und Applikationsserver<br />
� Benutzer-/ Rechteverwaltung und Schnittstellen<br />
� Hosting, Verfahrensentwicklung und Ausprägung<br />
� Ausblick, Kosten und Anmerkungen<br />
4.8.1 Architektur und Nutzer<br />
Bei der Architektur sollte nach einschichtig und 2 bis n-schichtig unterschieden werden.<br />
Als Erhebungskriterien bei einer 2- und mehrschichtigen Architektur kommen in Frage:<br />
Client/Sever, Terminal, Host und Web.<br />
Die Erhebung der Nutzer je IT-Fachanwendung liefert Informationen zur Verbreitung der<br />
Anwendung. Die Anzahl der Nutzer bezogen auf deren Gesamtheit hilft, die Anwendungen<br />
zu priorisieren. An dieser Stelle sind auch wieder die Ziele und die Rahmenbedingungen<br />
zu berücksichtigen. Es kann durchaus sein, dass Anwendungen, die nur von<br />
sehr wenigen Mitarbeitern genutzt werden, trotzdem einen hohen strategischen Wert<br />
Seite 93
haben und somit automatisch zu priorisieren sind. Im Erhebungsbereich der Nutzer sollten<br />
Angaben erfragt werden, zum Einsatzbereich der Anwendung in der Behörde, zu der<br />
Gesamtzahl der Nutzer je Anwendung, zu Anzahl der Nutzer in den einzelnen Abteilungen<br />
und ob die Anwendung abteilungsübergreifend im Einsatz ist. (siehe Abbildung 13)<br />
IT-Fachverfahren1<br />
- Architektur und Nutzer<br />
Bezeichnung Architektur Nutzer<br />
Produkt- 1 2-/ n-schichtig Gesamt- Einsatz in Abteilungen Fachbereiche<br />
Name Schicht C/S Term. Host Web Anzahl Abteilung 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10<br />
Summen<br />
Abbildung 13: Beispiel Erhebungsbogen - IT-Fachverfahren – Architektur und Nutzer<br />
4.8.2 Client-/ Serverbetriebssysteme, Datenbanksysteme und<br />
Applikationsserver<br />
An dieser Stelle sollen die Betriebssysteme, Datenbanken und Applikationsserver erhoben<br />
und ermittelt werden sowie unter welchem Betriebssystem/Produkt/<strong>Version</strong> das jeweilige<br />
IT-Verfahren laufen kann beziehungsweise im Hause eingesetzt wird.<br />
Hierfür bietet sich die Gliederung in folgende zurzeit verbreitete Betriebssysteme (siehe<br />
Abbildung 14) an: Windows NT, Windows 2000/ 2003/ XP, Linux und Unix.<br />
IT-Fachverfahren21<br />
- Client-/Serverbetriebssysteme<br />
Bezeichnung Client-Betriebssystem(e) Server-Betriebssystem(e)<br />
Produkt- eingesetzt verfügbar eingesetzt verfügbar<br />
Name Windows Linux Unix Windows Linux Unix Windows Linux Unix Netware Windows Linux Unix Netware<br />
NT XP NT XP NT XP NT XP<br />
Summen<br />
Abbildung 14: Beispiel Erhebungsbogen - IT-Fachverfahren – Client-/Serverbetriebssysteme<br />
Seite 94
IT-Fachverfahren22<br />
- Datenbanksysteme, Applikationsserver<br />
Bezeichnung Datenbanksysteme Applikationsserver<br />
Produkt- eingesetzt verfügbar eingesetzt verfügbar<br />
Name Windows Linux Unix Windows Linux Unix Windows Linux Unix Windows Linux Unix<br />
NT XP NT XP NT XP NT XP<br />
Summen<br />
Abbildung 15: Beispiel Erhebungsbogen - IT-Fachverfahren – Datenbanksysteme und<br />
Applikationsserver<br />
4.8.3 Benutzer-/ Rechteverwaltung und Schnittstellen<br />
Für die Benutzer- und Rechteverwaltung (siehe Abbildung 16) soll ermittelt werden, ob<br />
sie innerhalb der Anwendung einen Verzeichnisdienst oder Sonstige besitzt.<br />
Schnittstellen können existieren zu: anderen IT-Verfahren, Standard-Software, Dokumentvorlagen<br />
und Makros. Bei Letzteren stellt sich die Frage nach der Komplexität der<br />
Applikation, siehe daher Tabelle 13.<br />
IT-Fachverfahren3<br />
- Client-/Serverbetriebssysteme, Datenbanksysteme, Applikationsserver<br />
Bezeichnung Verwaltung Schnittstellen<br />
Produkt- Benutzer Rechte zu anderen zu Stand. zu Dokumentvorlagen zu Makros<br />
Name innerhalb über sonstiges innerhalb über sonstiges IT-Verfahren, Software, Komplex- gering mittel hoch sehr gering mittel hoch sehr<br />
der Verzeichn.- der Verzeichn.- Name de Name de ität hoch hoch<br />
Anwendg. Dienst Anwendg. Dienst Verfahrens Verfahrens Erstellgs.- < 0,5 0,5 - 2 2-4 > 4 < 0,5 0,5 - 2 2-4 > 4<br />
Dauer [1]<br />
Summen<br />
[1] Erstellungsdauer in Tagen<br />
Abbildung 16: Beispiel Erhebungsbogen - IT-Fachverfahren – Benutzer-/Rechteverwaltung und<br />
Schnittstellen<br />
Seite 95
4.8.4 Hosting, Verfahrensentwicklung und Ausprägung<br />
Für nicht eigene IT-Verfahren ist es wichtig die Verfahrensverantwortung und die Verfahrensbetreiber<br />
(Hosting durch externe Firma, externe(r) Abteilung/ Bereich, eigene IT-<br />
Abteilung) zu kennen.<br />
Die Verfahrensentwicklung (siehe Abbildung 17) soll Aufschluss über den Kostenrahmen<br />
des Verfahrens geben. Hier stellen sich folgende Fragen: Handelt es sich um eine Eigen-<br />
oder Fremdentwicklung, wie hoch gestaltete sich der Aufwand der Entwicklung in<br />
internen und externen Personentagen und den entsprechenden Kosten, wie heißt das<br />
Produkt (Name und <strong>Version</strong>) und durch wen (Firma, Abteilung) kann Support geliefert<br />
werden?<br />
Für eine eventuelle Neuprogrammierung im Rahmen der Migration sind folgende Ausprägungsinformationen<br />
von Bedeutung: Komplexität, Anforderungen an die Verfügbarkeit<br />
und Betreuungsaufwand (jeweils in den Stufen hoch mittel gering).<br />
IT-Fachverfahren4<br />
- Verantwortung, Entwicklung, Hosting, Ausprägung<br />
Bezeichnung Verfahrens Hosting Verfahrens-Entwicklung Ausprägungen<br />
Produkt- Verantwortung Verfahrens- Art Aufwand Entwicklg.-Umgebng Komplexität Anforderung Betreuungs-<br />
Name Betreiber [1] Kosten Tage Tage Produkt Support Verfügbarkeit Aufwand<br />
A B C selbst<br />
intern extern<br />
<strong>Version</strong> durch: Hoch Mittel Gering Hoch Mittel Gering Hoch Mittel Gering<br />
Summen<br />
[1] e = eigen, f = fremd<br />
Abbildung 17: Beispiel Erhebungsbogen - IT-Fachverfahren – Hosting, Verfahrens-Entwicklung<br />
und Ausprägung<br />
4.8.5 Ausblick, Kosten und Anmerkungen<br />
Mit dem Ausblick (siehe Abbildung 18) sollen Informationen zur Zukunft des Verfahrens<br />
erhoben werden (bspw. Einstellung, Fortschreibung oder Ablösung durch ein anderes<br />
Produkt). Bei Verfahren, die zurzeit noch nicht unter Linux verfügbar sind, wird die geplante<br />
Linux-Verfügbarkeit abgefragt. Auch die Plattformunabhängigkeit und seit Neuestem<br />
auch die SAGA-Konformität stellen in diesem Zusammenhang wichtige Kriterien dar.<br />
Im Bereich der Kosten wird der jährliche Aufwand für folgende Kostenarten erhoben:<br />
interne und externe Betreuung, Lizenzen (aus internen Umlagen und/oder externen Lizenzen),<br />
Miete, Wartung, Schulung, Sonstiges.<br />
Seite 96
IT-Fachverfahren5<br />
- Ausblick, Kosten, Anmerkungen<br />
Bezeichnung Ausblick Kosten<br />
Produkt- Kurz- Fort- Ablö- Ein- Linux Platt- Gesamt Betreuung Lizenzen Anmerkungen<br />
Name Beschreibung schrei- sung stel- Ver- form- Kosten Intern Extern interne externe Miete Wartung Schulung Sonstiges<br />
bung lung füg- Unab- in Euro in Euro Umlagen Lizenzen<br />
bar- hängig- /Jahr /Jahr<br />
keit keit<br />
Summen<br />
Abbildung 18: Beispiel Erhebungsbogen - IT-Fachverfahren – Ausblick, Kosten und Anmerkungen<br />
5 Wirtschaftlichkeit nach WiBe<br />
5.1 Vorbemerkung<br />
5.1.1 Aufbau und Vorgehensweise der WiBe für Migrationen<br />
5.1.1.1 Aufbau der WiBe für Migrationen<br />
Die im Rahmen dieses Dokumentes dargestellte Wirtschaftlichkeitsbetrachtung basiert<br />
auf der von der KBSt herausgegebenen Methodik zur Ermittlung der Wirtschaftlichkeit<br />
von Migrationsmaßnahmen.<br />
Grundlage der vorliegenden WiBe für Migrationsmaßnahmen waren die Bewertungsmethoden<br />
und -kriterien der WiBe 4.0 81 sowie des IT-Updates 82 der KBSt, die inhaltlich und<br />
methodisch an die spezifischen Gegebenheiten und Besonderheiten von Migrationsmaßnahmen<br />
angepasst beziehungsweise weiterentwickelt wurden 83 .<br />
Die grundlegende Struktur der WiBe wurde dabei beibehalten. Neben der Bewertung der<br />
monetären Wirtschaftlichkeit erfolgt die Ermittlung der erweiterten Wirtschaftlichkeit. Die<br />
monetäre Wirtschaftlichkeit setzt sich zusammen aus der Bewertung der<br />
� Entwicklungskosten/ Einführungskosten und –nutzen<br />
� Betriebskosten und Betriebsnutzen.<br />
Bei den Kriterien der erweiterten Wirtschaftlichkeit wurde (gegenüber der Systematik der<br />
WiBe 4.0) auf die Kriteriengruppe „Ermittlung der externen Effekte― verzichtet, da diese<br />
bei Migrationsmaßnahmen keine beziehungsweise nur eine unwesentliche Rolle spielt.<br />
Daher beinhaltet die erweiterte Wirtschaftlichkeit eine qualitative Bewertung der<br />
81 Empfehlung zur Durchführung von Wirtschaftlichkeitsbetrachtungen in der Bundesverwaltung,<br />
insbesondere beim Einsatz der IT, WiBe 4.0, August 2004.<br />
82 Hinweisen und Empfehlungen zur Durchführung von Wirtschaftlichkeitsbetrachtungen bei<br />
IT-Update- beziehungsweise Umstellungsvorhaben auf Grundlage der IT-WiBe-97, November<br />
2000.<br />
83 Eine Übersicht der modifizierten Kriterien zeigen die Abbildungen 25 bis 30 im Anhang.<br />
Seite 97
� Dringlichkeit der Migrationsmaßnahmen sowie<br />
� qualitativ-strategischen Kriterien.<br />
5.1.1.2 Fragenkataloge nach dem Ist- und Soll-Zustand im Vorfeld der WiBe<br />
Neu zur bisher bekannten WiBe-Systematik wurden der WiBe für Migrationen zwei Fragenkataloge<br />
vorangestellt, die im Vorfeld der eigentlichen WiBe-Durchführung zur Klärung<br />
spezifischer Migrationsfragestellungen beitragen sollen.<br />
Zum einen wurde ein Katalog an Fragestellungen zur qualitativen Beurteilung des Ist-<br />
Zustandes konzipiert, mit dessen Hilfe der konkrete Handlungsbedarf für ein<br />
Migrationsvorhaben beziehungsweise -projekt festgestellt werden kann. Zum anderen<br />
wurde ein Fragenkatalog erstellt, in dessen Mittelpunkt die qualitative Beurteilung des<br />
Soll-Zustandes steht. Mit dem zweiten Fragenkatalog können mögliche Migrationsalternativen<br />
dahin gehend überprüft werden, ob diese grundsätzlich weiter verfolgt werden<br />
sollen. Beide Fragenkataloge stellen im Vorfeld der eigentlichen WiBe-Durchführung<br />
eine Orientierungs- und Beurteilungshilfe für Migrationsalternativen und -szenarien dar.<br />
5.1.1.3 Vorgehensweise im Rahmen der monetären und nicht monetären WiBe<br />
Ergibt sich aus der qualitativen Beantwortung des Fragenkataloges nach dem Ist-<br />
Zustand ein konkreter Handlungsbedarf bezüglich der Durchführung eines Migrationsprojektes,<br />
ist die Wirtschaftlichkeit des Projektes innerhalb der Planungsphase durch die<br />
nachfolgenden monetären und nichtmonetären Wirtschaftlichkeitskriterien zu beurteilen.<br />
Hierbei ist zu beachten:<br />
� Der Betrachtungszeitraum der WiBe soll sich auf die Umsetzungszeit des Projektes<br />
und einen entsprechend nachgelagerten Zeitraum der Nutzung beziehen.<br />
Damit kann der Betrachtungszeitraum von der in den bisherigen <strong>Version</strong>en der<br />
WiBe enthaltenen Vorgabe von 5 Jahren abweichen, da für strategische Migrationsmaßnahmen<br />
längere Zeiträume als 5 Jahre begründbar sind / sein können.<br />
Die in den bisherigen Fachkonzepten enthaltene Aussage zur Nutzungsdauer<br />
(Betriebsnutzen) von 5 Jahren ist keine absolute Vorgabe, sondern eine Richtgröße.<br />
Abweichungen sind mit Begründung zulässig 84 .<br />
� Absehbare Änderungen in der Technik oder in den Prozessen und hiermit verbundene<br />
Nutzenpotenziale sind in gesonderten Alternativen zu bewerten. D. h.<br />
ergeben sich für eine Migration mehrere technische Lösungen, so soll deren wirtschaftliche<br />
Betrachtung in separaten Alternativen erfolgen. Da unterschiedliche<br />
technische Lösungen auch differente Auswirkungen auf die Prozesse haben<br />
können, werden sich in der Regel in den jeweiligen Alternativen unterschiedliche<br />
Nutzenpotenziale ergeben.<br />
84 Bei großen IT-Maßnahmen mit mehrjähriger Entwicklungszeit kann es zweckmäßig sein,<br />
den 5-Jahres-Zeitraum um diese Entwicklungsdauer zu erhöhen. Bei Infrastrukturprojekten<br />
(beispielsweise der Verkabelung von Gebäuden) kann es sinnvoll sein, auch über diesen<br />
Zeitraum hinauszugehen. Bei IT-Maßnahmen dagegen, deren Einsatzdauer bereits jetzt<br />
absehbar und begründet unter 5 Jahren liegen wird, ist ein kürzerer Zeithorizont für die IT-<br />
WiBe zwingend erforderlich.<br />
Seite 98
� Technische Änderungen beziehungsweise neue Features sind u. U. als „nice to<br />
have― – Funktionalitäten zu beurteilen. Im Rahmen der Migration ist deshalb die<br />
Frage zu stellen, welche Funktionalitäten wirklich für die jeweilige Aufgabenerledigung<br />
benötigt werden.<br />
� Prozessoptimierungen werden nicht Gegenstand einer Wirtschaftlichkeitsbetrachtung<br />
für Migrationsmaßnahmen. Verbindet der Anwender mit der Migration eine<br />
komplette Prozessbetrachtung, beziehungsweise wird diese notwendig, ist diese<br />
in einer gesonderten Maßnahme durchzuführen.<br />
� Demzufolge ist eine Abstimmung über jene Nutzenpotenziale erforderlich, die in<br />
die WiBe einbezogen werden sollen. Nutzenpotenziale können von den Komponenten<br />
(Personal, Dienstleistungen, Hardware, Software, etc.) abgeleitet werden.<br />
Prozessoptimierungen werden im Rahmen von Migrationsmaßnahmen grundsätzlich<br />
nicht betrachtet. Dies können zusätzliche Effekte aus anderen Maßnahmen<br />
sein.<br />
Im Rahmen der monetären Bewertung kommen Haushaltsinformationen zum Tragen,<br />
d. h. Aufwendungen und Erträge beziehungsweise Ersparnisse, die zu einem Projektnutzen<br />
saldiert werden. Auf dessen Basis wird letztlich ein Kapitalwert errechnet. Ist der<br />
Kapitalwert positiv (d. h. die Ersparnisse (oder Erträge) sind größer als die Aufwendungen),<br />
ergibt sich daraus eine Empfehlung für die Durchführung der Migrationsmaßnahme<br />
85 . Zur Risikoabsicherung der künftigen Planwerte beinhaltet die WiBe für Migrationsmaßnahmen<br />
die Möglichkeit Risikofaktoren für die einzelnen Kriterien zu benennen,<br />
die den Kapitalwert letztendlich reduzieren.<br />
Bei einer Kostenbetrachtung im Hinblick auf die Einführung neuer Technologien muss<br />
grundsätzlich zwischen der Neueinführung und der Migration von Verfahren und Systemen<br />
unterschieden werden. Dabei gilt als „Daumenregel―, dass eine Neueinführung<br />
grundsätzlich einfacher und preiswerter zu bewerkstelligen ist, als eine Migration, bei der<br />
verschiedene, zum Teil historisch gewachsene Architekturen abgelöst und Daten migriert<br />
werden müssen, ohne dass es zu einer wesentlichen Betriebsstörung oder zum<br />
Datenverlust der Altanwendung kommt.<br />
Da ein Migrationsverfahren grundsätzlich von seiner Ausgangssituation abhängt, erweist<br />
sich eine allgemeingültige und allumfassende Aussage zu dessen Kosten als kaum möglich.<br />
Während eine Migration in einigen Fällen als problemlos und nahezu ohne Aufwand<br />
möglich ist, führt die Existenz von selbst entwickelten Anwendungen, die ebenfalls abgelöst<br />
werden müssen, Überführung von Altdaten, spezielle Nutzer- und Zugriffsrechtestrukturen<br />
oder andere Besonderheiten zu einem erheblichen Projektaufwand, der behördenspezifisch<br />
– auch unter Berücksichtigung der Kritikalität - beurteilt werden muss.<br />
Lässt sich im monetären Bereich keine Wirtschaftlichkeit darstellen (Aufwendungen sind<br />
größer als die Ersparnisse), so verfügt die WiBe für Migrationen über die zwei ergänzenden<br />
Bereiche der erweiterten Wirtschaftlichkeit (Dringlichkeitskriterien, qualitativstrategische<br />
Kriterien). Die entsprechenden Kriterien werden in Form von Nutzwertanalysen<br />
bearbeitet, die für jeden der zwei Bereiche einen Punktwert zwischen 0 und 100<br />
85 siehe WiBe 4.0, Empfehlung zur Durchführung von Wirtschaftlichkeitsbetrachtungen in der<br />
Bundesverwaltung, insbesondere beim Einsatz der IT, <strong>Version</strong> 4.0 – 2004, S. 71 ff..<br />
Seite 99
als Ergebnis liefern. Im Fall eines negativen Kapitalwertes des Migrationsvorhabens<br />
kann mit einem hohen Punktwert die Durchführung der IT-Maßnahme befürwortet werden<br />
86 .<br />
5.1.2 Fragenkatalog Ist-Zustand<br />
Anhand der nachfolgenden beispielhaften Fragen (aa bis ag) sollte geprüft werden, ob<br />
ein konkreter Handlungsbedarf für ein Migrationsprojekt besteht.<br />
Die Antworten zu den einzelnen Fragen sind grundsätzlich (im Vorfeld der eigentlichen<br />
WiBe) in schriftlicher Form zu erläutern und geeignet zu dokumentieren.<br />
Mögliche Ergebnisse der Fragenbearbeitung zur Ist-Situation sind:<br />
� Die Migration kann realisiert werden. Erfordernis: Eine WiBe ist zu erstellen, um<br />
eine detaillierte Entscheidung zu treffen.<br />
� Eine Migration ist nicht notwendig und somit wird auch keine WiBe benötigt.<br />
Die Fragen im Einzelnen:<br />
aa) Unterstützungs-Kontinuität Altsystem<br />
� Gibt es noch Unterstützung für das Altsystem?<br />
(Hersteller, alternative Anbieter, Hardware, eigenes Personal)<br />
ab) Stabilität Altsystem - Fehler und Ausfälle („downtime“)<br />
� Häufen sich die Fehler und Ausfälle?<br />
� Führen diese zu merkbaren Beeinträchtigungen der Arbeitserledigung?<br />
� Wird die Arbeitserledigung gegebenenfalls soweit beeinflusst, dass Arbeitsergebnisse<br />
und Fristen nicht oder nur erschwert eingehalten werden können?<br />
� Liegen Fehler und Ausfälle gegebenenfalls über den in den Service Level Agreements<br />
vereinbarten Toleranzwerten?<br />
(Bitte beachten Sie bei Ihrer Erläuterung insbesondere die Häufigkeiten und Ursachen).<br />
ac) Stabilität Altsystem - Wartungsprobleme, Personalengpässe<br />
� Führt der Betrieb des Altsystems gegenwärtig beziehungsweise kurz- bis mittelfristig<br />
absehbar zu erhöhten Wartungsleistungen beziehungsweise sind gravierende<br />
Wartungsprobleme zu erwarten?<br />
� Sind damit Personalengpässe verbunden (z. B. hinsichtlich Qualifikation des Personals,<br />
rechtliche Gegebenheiten)?<br />
ad) Flexibilität Altsystem - Ausbau-/Erweiterungsgrenzen<br />
� Sind notwendige Ausbau- und/oder Erweiterungen nicht möglich?<br />
86 siehe WiBe 4.0, Empfehlung zur Durchführung von Wirtschaftlichkeitsbetrachtungen in der<br />
Bundesverwaltung, insbesondere beim Einsatz der IT, <strong>Version</strong> 4.0 – 2004, „Berechnung<br />
der erweiterten Wirtschaftlichkeit", S. 80 ff..<br />
Seite 100
ae) Flexibilität Altsystem - Interoperabilität, Schnittstellenprobleme aktuell/zukünftig<br />
� Sind notwendige Schnittstellen nicht verfügbar?<br />
af) Flexibilität Altsystem - Bedienbarkeit und Ergonomie (Benutzerfreundlichkeit)<br />
� Gibt es erhebliche Mängel in der Bedienbarkeit und Ergonomie, die den Nutzer<br />
wesentlich behindern?<br />
ag) Erfüllung Datenschutz/ -sicherheit<br />
� Gibt es Sicherheitsmängel, die zu einer Beeinträchtigung im Betrieb führen?<br />
5.1.3 Anforderungen Soll-Zustand<br />
Anhand der nachfolgenden beispielhaften Fragen (ba bis bj) sollten mögliche Migrationsalternativen<br />
geprüft werden, um zu beurteilen, ob die entsprechenden Alternativen<br />
weiter verfolgt werden sollen.<br />
Die Antworten zu den einzelnen Fragen sind grundsätzlich (im Vorfeld der eigentlichen<br />
WiBe) in schriftlicher Form zu erläutern und geeignet zu dokumentieren.<br />
Mögliche Ergebnisse der Fragenbearbeitung zur Sollsituation sind:<br />
� Es gibt unterschiedliche realistische Migrationsalternativen, die auf die spezifische<br />
Situation passen.<br />
Erfordernis: Für jede Alternative ist eine WiBe ist zu erstellen und in einer Vergleichsrechnung<br />
eine Priorisierung vorzunehmen.<br />
� Es gibt nur eine realistische Migrationsalternative, die auf die spezifische Situation<br />
passt.<br />
Erfordernis: Hierfür ist eine zusätzliche Beschreibung erforderlich, die die Frage<br />
beantwortet, warum es keine andere Alternative gibt. Für diese eine Alternative<br />
ist eine WiBe zu erstellen.<br />
Die Fragen für das Soll-System im Einzelnen:<br />
ba) Verbreitung/ Verfügbarkeit der Ausbildung<br />
� Hat das eigene Personal ausreichend Kenntnisse?<br />
� Ist ausgebildetes Personal am Markt verfügbar?<br />
� Sind qualifizierte Ausbildungsgänge und Fortbildungen am Markt verfügbar?<br />
Erläuterung: Sind Qualifizierungs- oder Rekrutierungsmaßnahmen notwendig, ergeben<br />
sich hieraus Kosten, die im monetären Teil der WiBe KN zu berücksichtigen sind.<br />
bb) Marktdurchdringung<br />
� Wie ist die Marktdurchdringung der Software?<br />
� Und welche Schlussfolgerungen können daraus gezogen werden?<br />
Erläuterung: Hier wird der Marktanteil betrachtet, den die einzusetzende Software am<br />
Markt hat. Bei schwindender oder nicht mehr wahrzunehmender Marktdurchdringung<br />
besteht die Gefahr, dass die Software beziehungsweise deren Weiterentwicklung ein-<br />
Seite 101
gestellt wird. Darüber hinaus zeugt eine gute Marktdurchdringung von hoher Akzeptanz<br />
beziehungsweise intensiver Nutzung der Software bei den Anwendern, woraus sich der<br />
Umkehrschluss auf den weiteren Bestand der Software ableiten lässt.<br />
Bei einer ausreichenden Marktdurchdringung der/des Produkte/Produkts ist im Allgemeinen<br />
eine ausreichende Investitionssicherheit anzunehmen.<br />
bc) Software-Zertifizierung<br />
� Wird eine Zertifizierung benötigt?<br />
� Wenn ja, ist eine Zertifizierung der Software vorhanden?<br />
Erläuterung: Mit dieser Frage soll überprüft werden, ob die einzusetzende Software gesetzlichen<br />
beziehungsweise behörden-/ branchenspezifischen Anforderungen genügt,<br />
oder aber diese selbst organisiert werden müssen. In ersterem Fall sorgt der Hersteller/<br />
Lieferant der Software für die Zertifizierung, sodass keine eigenen Kosten anfallen. In<br />
letzterem Fall muss selbst für die laufende Zertifizierung gesorgt werden, um übliche<br />
Abdeckung der Geschäftsprozesse zu gewährleisten. In diesem Fall entstehen eigene<br />
Kosten, die nicht pauschal kalkulierbar sind.<br />
bd) Systemmanagement-Tools<br />
� Sind Systemmanagement-Tools (bspw. Admin-Tools) für die Software verfügbar?<br />
Werden diese benötigt?<br />
Erläuterung: Die Administration der einzusetzenden Softwareprodukte erweist sich in<br />
manchen Fällen unkomfortabel bis schwierig. Hier stehen Tools im Mittelpunkt, die die<br />
Verwaltung der Tabellen und Stammdaten übernehmen oder diese unterstützen.<br />
Mit entsprechenden Tools für das Systemmanagement können Volumen und Qualität<br />
gesteigert und der Ressourceneinsatz optimiert werden. Andernfalls müssen Sie die<br />
erhöhten Kosten für Fachpersonal in der WiBe KN berücksichtigen.<br />
be) IT-Sicherheit<br />
� Welches Sicherheitsniveau gemäß den IT-Grundschutz-Katalogen 87 wird benötigt?<br />
Erläuterung: Es ist zu prüfen, ob die betreffende Migrationsalternative die entsprechenden<br />
Sicherheitsanforderungen erfüllt, z. B. in Bezug auf die Kommunikationssicherheit,<br />
Applikationssicherheit und Ausfallsicherheit.<br />
bf) Software Ergonomie<br />
� Existieren im Rahmen der Software-Ergonomie z. B. grafische Bedienoberflächen,<br />
verständliche Fehlerdialoge, deutschsprachige Menüführung?<br />
Erläuterung: Bei der Beantwortung dieser Fragestellung ist der konkrete Nutzerkreis zu<br />
beachten.<br />
87 Siehe IT-Grundschutz-Kataloge des Bundesamtes für Sicherheit und Informationstechnik<br />
(BSI), http://www.bsi.de/gshb/deutsch/index.htm, Stand 2006 (8. Ergänzungslieferung).<br />
Seite 102
g) Skalierbarkeit<br />
� Gibt es Anforderungen an die Skalierbarkeit der Software, z. B. hinsichtlich der<br />
Anzahl der Nutzer?<br />
bh) Flexibilität<br />
� Ausbau auf notwendige beziehungsweise zu erwartende fachliche und technische<br />
Anforderungen, z. B. Mobile-Computing?<br />
bi) Schnittstellen<br />
� Sind notwendige oder zu erwartende Schnittstellen verfügbar?<br />
bj) Dokumentation<br />
� Sind in ausreichender Form Dokumentationen und Handbücher verfügbar?<br />
5.2 Monetäre Wirtschaftlichkeit<br />
5.2.1 Systematik<br />
In der Bundesverwaltung richten sich Wirtschaftlichkeitsbetrachtungen nach den Vorschriften<br />
des § 7 BHO und nach den hierzu erlassenen Verwaltungsvorschriften, die vor<br />
allem betriebswirtschaftliche Verfahren berücksichtigen (siehe auch Kapitel I.C 3,<br />
„Methodische Grundsätze―). Um diese Vorschriften auf die speziellen Erfordernisse der<br />
Informationstechnik anzupassen, hat die Koordinierungs- und Beratungsstelle der Bundesregierung<br />
für Informationstechnik in der Bundesverwaltung (KBSt) bereits in 1992<br />
eine Handlungsanweisung mit dem Titel „Empfehlung zur Durchführung von Wirtschaftlichkeitsbetrachtungen<br />
beim Einsatz der IT in der Bundesverwaltung (IT-WiBe)― erarbeitet.<br />
2004 ist sie in einer völlig überarbeiteten Fassung erschienen. Im Wesentlichen beinhaltet<br />
die WiBe drei Schritte:<br />
� Einflussgrößen festlegen (Kriterien selektieren)<br />
� Daten erheben/ bewerten<br />
� Kennzahlen ermitteln<br />
Seite 103
Schritt 1<br />
Einfluss-<br />
größen<br />
festlegen<br />
�� �� Abgestimmte<br />
Abgestimmte<br />
Kriterien<br />
Kriterien<br />
Daten<br />
erheben<br />
Schritt 2<br />
Risiken<br />
schätzen<br />
Kriterien bewerten<br />
Kriterien bewerten<br />
�� �� Konsistentes<br />
Konsistentes<br />
Datengerüst<br />
Datengerüst<br />
Seite 104<br />
Wirtschaftlichkeit<br />
berechnen1) Wirtschaftlichkeit<br />
berechnen<br />
KN<br />
Kosten/ Nutzen<br />
1)<br />
KN<br />
Kosten/ Nutzen<br />
Schritt 3<br />
Wirtschaftlichkeit<br />
berechnen1) Wirtschaftlichkeit<br />
berechnen<br />
KN/R<br />
Kosten/ Nutzen/<br />
Risko<br />
1)<br />
KN/R<br />
Kosten/ Nutzen/<br />
Risko<br />
Dringlichkeit ermitteln2) Dringlichkeit ermitteln D 2) D<br />
Qualitativ/ strategische .<br />
Bedeutung ermitteln2) Qualitativ/ strategische .<br />
Bedeutung ermitteln Q 2) Q<br />
Abbildung 19: Methodik WiBe Migrationen<br />
5.2.1.1 Spezifischer Kriterienkatalog für Migrationen<br />
�� �� Kennzahlen<br />
Kennzahlen<br />
monetär monetär<br />
nicht-monetär<br />
nicht-monetär<br />
1) Kapitalwertmethode, 2) Nutzwertanalyse<br />
Der spezifische Kriterienkatalog für Migrationen stellt das Grundschema für die WiBe für<br />
Migrationen dar. Er enthält alle Kriterien, die bei einer WiBe dieser Kategorie zu berücksichtigen<br />
sind. Mithilfe des Kriterienkataloges erfassen Sie die Wirkungen Ihrer Maßnahme.<br />
Die Maßnahme wird monetär quantifizierbare Kosten und Nutzen haben (1. Wirkungsdimension;<br />
Wirtschaftlichkeit im monetären Sinn), es kann in unterschiedlichem Maß<br />
Dringlichkeit (2. Wirkungsdimension) und qualitativ-strategische Bedeutung (3. Wirkungsdimension)<br />
aufweisen.<br />
5.2.1.2 Wirtschaftlichkeit im monetären und im weiteren Sinn<br />
Monetär quantifizierbare Kosten und Nutzen (WiBe KN) bilden die Wirtschaftlichkeit im<br />
monetären Sinne.<br />
Die Dringlichkeit (WiBe D) und die qualitativ-strategische Bedeutung (WiBe Q) der Maßnahme<br />
fließen in die erweiterte Wirtschaftlichkeit ein.<br />
Bei der Zusammenstellung der Kosten und Nutzen in der WiBe KN wird die Kapitalwertmethode<br />
zugrunde gelegt, um den zeitlichen Verlauf von Kosten und Nutzen angemessen<br />
zu berücksichtigen.<br />
Die Berechnung von Dringlichkeit und qualitativ-strategischer Bedeutung in der WiBe D<br />
und Q bedienen sich der Nutzwertanalyse, einem Standardverfahren zur Bewertung<br />
qualitativer Faktoren.<br />
Mit diesem kurzen Überblick sind die Bausteine der WiBe aufgelistet. Das Verfahren<br />
selbst ist im Weiteren detailliert in seinen einzelnen Stufen dargelegt und mit Hinweisen<br />
zur Anwendung und Umsetzung versehen.
Einen Gesamtüberblick der monetären Kriterien sowie die Zuordnung der Kosten/ Nutzen<br />
zu den Bereichen „haushaltswirksam― und „nicht haushaltswirksam― liefern die Tabellen<br />
im Anhang.<br />
5.2.2 Kriterien der monetären Wirtschaftlichkeit<br />
Kriteriengruppe 1<br />
Entwicklungskosten/Einführungskosten und –nutzen<br />
In der Gruppe 1 des Kriterienkataloges sind die Entwicklungskosten und Entwicklungsnutzen<br />
aufgeführt, die vor der Einführung einer IT-Maßnahme anfallen werden; den eigentlichen<br />
Entwicklungskosten (Kriteriengruppe 1.1) stehen unter Umständen monetäre<br />
Nutzen aus der Ablösung des alten, bisherigen Verfahrens gegenüber (Kriteriengruppe<br />
1.2).<br />
� Es ist unbedingt darauf zu achten, alle monetären Angaben aufzuteilen in den haushaltswirksamen<br />
und in den nicht haushaltswirksamen Anteil.<br />
Für alle monetären Einzelkriterien gilt generell:<br />
� Soweit Wirkungen bei einem Kriterium nicht hinreichend exakt bezifferbar sind,<br />
wirkt sich dieses Kriterium sowohl in der WiBe KN als auch in der ergänzenden<br />
Kennzahl WiBe KN/R aus.<br />
Bei der Datenermittlung ist ein "plausibel begründeter" Ansatz vorzulegen, der als<br />
„wahrscheinlicher Schätzwert― in die monetäre Wirtschaftlichkeitsbetrachtung<br />
(WiBe KN) übernommen wird. Die im ungünstigen Fall möglichen Überschreitungen<br />
dieses Schätzwertes sind als Risikozuschlag für die Risikoabwägung (WiBe<br />
KN/R) einzugeben.<br />
� Soweit Wirkungen bei einem monetären Nutzenkriterium (Einsparung) nur qualitativ<br />
beschreibbar erscheinen, ist für dieses Kriterium kein monetärer Wert anzusetzen.<br />
Die qualitative Wirkung ist stattdessen in die Bewertung des entsprechenden<br />
qualitativ-strategischen Kriteriums in der WiBe Q (im Regelfall in den Untergruppen<br />
4.2, 4.3 oder 4.4) einzubringen.<br />
Kriteriengruppe 1.1<br />
Zur Ermittlung der Entwicklungskosten<br />
Entwicklungskosten fallen vor dem Einsatz (beziehungsweise der Fertigstellung) der<br />
neuen IT-Maßnahme an und enden, sobald die IT-Maßnahme offiziell den anwendenden<br />
Organisationseinheiten zur Nutzung übergeben wird. Alle danach auftretenden Kosten<br />
sind als Betriebskosten unter der Gruppe 2 des Kriterienkataloges erfasst. Migrationsprojekte<br />
beinhalten bei der Umstellung einer gesamten Landschaft auch die Fachanwendungen,<br />
für die Neuentwicklungen oder Umprogrammierungen erforderlich werden.<br />
Diese Aktivitäten sind unter den „Entwicklungskosten― darzustellen. Bei der Migration<br />
von Migrationsobjekten fallen in der Regel keine Entwicklungskosten an, aber Kosten für<br />
die Einführung. Um diesen Umstand hervorzuheben, wird das Kriterium „Entwicklungskosten―<br />
um den Begriff „Einführung― erweitert.<br />
Seite 105
Kriteriengruppe 1.1.1<br />
Planungs- und Entwicklungskosten<br />
Unter diese Position fallen alle haushaltswirksamen und auch nicht unmittelbar haushaltswirksamen<br />
Kosten, die mit der Vorbereitung, der Planung und der Entwicklung für<br />
die IT-Maßnahme verbunden sind. Beispiele dafür sind i.e.S. die Personalkosten für das<br />
eigene Projektteam sowie die Kosten für externe Beratung. Beispiele i.w.S. dafür sind<br />
spezielle Schulungen für die Bearbeiter der IT-Maßnahme und gegebenenfalls die technische<br />
Ausstattung, Reisekosten.<br />
Nicht zu den Planungs- und Entwicklungskosten zählen die Kosten der Betreuung und<br />
Pflege des Systems nach dessen Einführung: diese sind unter den Betriebskosten (den<br />
Kriterien der Gruppe 2) zu erfassen.<br />
Grundsätzlich sind die Kosten(-arten) im Sinne einer Vollkostenbetrachtung in die WiBe<br />
einzustellen: es sind alle Kosten(-arten) zu berücksichtigen und zu berechnen, auch<br />
wenn dafür keine gesonderte Mittelbeantragung im Haushalt erforderlich sein wird.<br />
Kriterium 1.1.1.1 Personalkosten (eigenes Personal)<br />
Darstellung von Kosten nicht haushaltswirksam<br />
Aufwände, die im Rahmen der Projektphasen für das eigene Personal entstehen.<br />
Die Kosten für das amtseigene Personal (der Zeitaufwand für die Bearbeiter der IT-<br />
Maßnahme) sind mittelbar zu quantifizieren. Voraussetzung dafür ist eine Projektplanung,<br />
aus der sich die „Personentage― -Ansätze der Bearbeiter ergeben. Die Zeitangaben<br />
können Sie mithilfe der Personalkostensätze 88 (hrsg. vom Bundesministerium der<br />
Finanzen) in die Personalkosten der IT-Maßnahme umrechnen. Im Wesentlichen werden<br />
die Entwicklung des organisatorisch-technischen Gestaltungskonzepts und die Anforderungsdefinition<br />
für die Systemauswahl die erforderlichen Personalkosten bestimmen.<br />
Hier sind gegebenenfalls auch die Besichtigung von Referenzinstallationen und Teststellungen<br />
einzubringen. Berücksichtigen Sie bei der Planung erforderlicher Personentage<br />
angemessen, dass die sog. Interoperabilität gewahrt bleiben muss, auch über Ihre eigene<br />
Behörde hinaus - den Zeitaufwand dafür sollten Sie sorgfältig prüfen. Eine Vernachlässigung<br />
der internen („kalkulatorischen―) Personalkosten verfälscht die Wirtschaftlichkeitsbetrachtung:<br />
die Einbeziehung dieser Kosten ist grundsätzlich zwingend erforderlich.<br />
Ein Projektplan in der Struktur der Migrationsphasen sowie deren Einzelaktivitäten erleichtert<br />
die Aufwandskalkulation (siehe Tabelle 9 u. Abbildung 4 u. Abbildung 5). Die<br />
Aufwände sollten der einfachen Zuordnung halber getrennt nach Vergütungsgruppen<br />
geplant werden. Dies erscheint im ersten Moment als zu detailliert, in der Praxis hat sich<br />
jedoch schon oft gezeigt, dass eine detaillierte Planung zum einen die spätere Nachvollziehbarkeit<br />
erleichtert sowie zum anderen die in der Umsetzungsphase beginnende<br />
Fortschrittsverfolgung wesentlich vereinfacht. Ist dies nicht möglich oder nicht gewünscht,<br />
so sollte aus den anteilig involvierten Vergütungsgruppen ein Durchschnitts-<br />
88 Zu Personalkostensätzen gibt es Downloads auf der Web-Seite des BMF unter:<br />
www.bundesfinanzministerium.de – Stichwort: Personalkostensätze<br />
Seite 106
wert gebildet werden, mit dem dann einheitlich die Personalanteile bewertet werden. Die<br />
entsprechend angewandte Methode sollte in den Annahmen und Prämissen beschrieben<br />
werden (siehe Kapitel 3.1.2).<br />
Alternativ bietet sich auch an, diese Aufwände anhand des benötigten Projektteams zusammenzustellen.<br />
Dabei sollte dann die zeitanteilige Mitarbeit in dem Projektteam des<br />
betroffenen Personals abgeschätzt werden.<br />
Der Aufwand lässt sich in beiden Vorgehensweisen anhand der Vergütungsgruppe aus<br />
dem Rundschreiben des BMF ermitteln.<br />
Der ermittelte Betrag ist regelmäßig in voller Höhe unter der Rubrik „nicht haushaltswirksam―<br />
zu erfassen.<br />
Kriterium 1.1.1.2 Kosten externer Beratung<br />
Darstellung von Kosten haushaltswirksam<br />
Die Kosten externer Beratung sind mehr oder minder unmittelbar aus dem Vertragswerk<br />
zu entnehmen.<br />
Beachten Sie, dass sich dieses Kriterium unter Umständen mit dem Kriterium 1.1.2.2<br />
überschneiden kann. Wenn die externe Beratung sich sowohl auf fachkonzeptionelle als<br />
auch auf softwarebezogene Aspekte bezieht und eine anteilige Trennung nicht möglich<br />
oder nicht sinnvoll ist, dann sind die Kosten unter diesem Kriterium 1.1.1.2 auszuweisen.<br />
Es gilt das Bruttoprinzip: zu den Kosten externer Beratung zählen auch die Nebenkosten<br />
(z. B. Reisekosten-Vergütungen, gesetzliche Umsatzsteuer u. ä.).<br />
Hier werden die externen Personalaufwände dargestellt. Auch hier dient als Basis der<br />
Projektplan. Es empfiehlt sich, die Aufwände der einfachen Zuordnung halber getrennt<br />
nach Lieferanten zu planen.<br />
Der ermittelte Betrag ist regelmäßig in voller Höhe als „haushaltswirksam― zu erfassen.<br />
Kriterium 1.1.1.3 Kosten der Entwicklungsumgebung<br />
Darstellung von Kosten haushaltswirksam<br />
Unter diesem Kriterium sind alle Kosten auszuweisen, die bei der Beschaffung von Hard-<br />
und Software für das Entwicklerteam anfallen. Auch Beschaffungen von Hard- und Software<br />
für Teststellungen fallen unter dieses Kriterium.<br />
Zu den Kosten der Entwicklungsumgebung im weiteren Sinne zählen auch die Kosten,<br />
die sich aus dem notwendigen Konfigurationsmanagement beziehungsweise allgemein<br />
aus dem Vorgehensmodell des Bundes ergeben.<br />
Wird bereits vorhandene Hard- und Software (mit-)genutzt, dann kann die Berechnung<br />
dieser anteiligen (nicht haushaltswirksamen) Kosten unterbleiben. Soweit auch Kosten<br />
für die externe Schulung der Bearbeiter der IT-Maßnahme anfallen, sind die reinen<br />
Schulungskosten (‗Seminargebühren‘) unter diesem Kriterium auszuweisen.<br />
Der ermittelte Betrag ist regelmäßig in voller Höhe als „haushaltswirksam― zu erfassen.<br />
Seite 107
Kriterium 1.1.1.4 Sonstige Kosten für Sach-/Hilfsmittel<br />
Darstellung von Kosten haushaltswirksam und/ oder nicht haushaltswirksam<br />
Unter die Kosten für Sach- und Hilfsmittel fallen (analog zum vorigen Kriterium) Kosten<br />
für Material und Hilfsmittel und Ausstattungskosten, die zur Unterstützung der Bearbeiter<br />
der IT-Maßnahme erforderlich werden. Werden dabei bereits vorhandene Sach-/ Hilfsmittel<br />
(mit-)genutzt, dann kann die Berechnung dieser anteiligen (nicht haushaltswirksamen)<br />
Kosten unterbleiben.<br />
Der ermittelte Betrag ist regelmäßig in voller Höhe als „haushaltswirksam― zu erfassen.<br />
Soweit für bereits vorhandene Räumlichkeiten interne Verrechnungssätze vorliegen, sind<br />
auch diese Kosten hier als „nicht haushaltswirksam― in die WiBe aufzunehmen. Falls für<br />
die Vorhabensbearbeiter geeignete Räume erst angemietet werden müssen, sind diese<br />
Kosten haushaltswirksam zu erfassen.<br />
Kriterium 1.1.1.5 Reisekosten (eigenes Personal)<br />
Darstellung von Kosten haushaltswirksam<br />
Das Kriterium Reisekosten (eigenes Personal) beinhaltet alle Kosten für Reisen, Unterbringung,<br />
Tagegelder der Projektmitarbeiter 89 (bspw. Besichtigungs- oder Informationsreisen<br />
zu anderen Behörden oder Lieferanten), die im Rahmen der Vorbereitung und<br />
Durchführung des Migrationsprojektes abfallen.<br />
Der ermittelte Betrag ist regelmäßig in voller Höhe unter der Rubrik „haushaltswirksam―<br />
zu erfassen.<br />
Insbesondere sollte überprüft werden, inwieweit Reisekosten überhaupt begründet sind:<br />
fast alle Anbieter sind heute mit einem umfangreichen Informationsangebot im Internet<br />
vertreten, sodass Informationsreisen selektiv geplant werden können.<br />
Kriteriengruppe 1.1.2 Systemkosten<br />
Unter diese Position fallen alle haushaltswirksamen und auch nicht unmittelbar haushaltswirksamen<br />
Kosten, die mit der Erstellung (Bereitstellung) der erforderlichen Hard-<br />
und Software anfallen.<br />
Nicht zu diesen Kosten zählen die Kosten für die eigentliche Systemeinführung: diese<br />
sind unter der Kriteriengruppe 1.1.3 gesondert zu erfassen.<br />
Es ist zu klären, ob die IT-Maßnahme ein vorhandenes IT-System ablöst und ob daraus<br />
ein einmaliger Aufwand für das Alt-System entsteht. Solche kalkulatorischen „Restwerte―<br />
sind zusätzlich unter dem Kriterium 1.1.2.1 aufzunehmen (eventuelle Veräußerungserlöse<br />
erfassen Sie später unter 1.2.2).<br />
89 Zu den Reisekosten zählen ebenfalls bspw. Kosten für Flugtickets, Bahntickets, Kosten für<br />
öffentliche Verkehrsmittel, Kilometergelder, Taxi- und Parkkosten, etc..<br />
Seite 108
Kriteriengruppe 1.1.2.1 Hardwarekosten<br />
Hardware-Kosten (und zugehörige Kosten für Systemzubehör beziehungsweise Material)<br />
können Sie regelmäßig unmittelbar monetär quantifizieren: dazu liegen auch in der<br />
Vorstudie Offerten beziehungsweise Richtwerte der verschiedenen Anbieter vor.<br />
Das Kriterium ist unterteilt in Host/Server, Netzbetrieb (1.1.2.1.1) und Arbeitsplatzrechner<br />
(1.1.2.1.2). Soweit Ihr Haus in den nächsten Jahren in größerem Umfang Arbeitsplatzrechner<br />
installieren wird, ist es zweckmäßig, dafür pauschale Kostensätze einzusetzen,<br />
um die Berechnung in einzelnen WiBe zu vereinfachen und zu vereinheitlichen.<br />
Der ermittelte Betrag ist regelmäßig unter der Rubrik „haushaltswirksam― zu erfassen.<br />
Bei jeder der Migrationsalternativen ist zu prüfen, ob die vorhandene Hardware noch<br />
verwendbar ist beziehungsweise ob für eine der Alternativen längere Nutzungsdauern<br />
angenommen werden können.<br />
Kriterium 1.1.2.1.1 Host/ Server, Netzbetrieb<br />
Darstellung von Kosten haushaltswirksam<br />
In der Regel wird eine Migration vor dem Hintergrund notwendiger und umfangreicher<br />
Hardwareerneuerung geplant. Somit entstehen in jedem Fall durch die Migration Hardwareausgaben.<br />
Dazu können z. B. gehören: Datenbank-Server, Applikations-Server,<br />
Firewall, Web-Applikationen, Infrastruktur/Netz, Router, Drucker (soweit serverseitig),<br />
und so weiter.<br />
Kriterium 1.1.2.1.2 Arbeitsplatzrechner<br />
Darstellung von Kosten haushaltswirksam<br />
Auch bei den Arbeitsplatzrechnern kann es zu Neuinvestitionen kommen. Die entstehenden<br />
Kosten (z. B. für PCs, Notebooks, Drucker, etc.) sind unter diesem Kriterium<br />
aufzuzeigen.<br />
Kriteriengruppe 1.1.2.2 Softwarekosten<br />
Kosten für Software lassen sich bei Fremderstellung beziehungsweise -bezug unmittelbar<br />
monetär quantifizieren und in voller Höhe als haushaltswirksame Kosten ausweisen.<br />
Soweit Software hausintern entwickelt wird, prüfen Sie, ob Sie diese Kosten bereits unter<br />
der Position 1.1.1.1 (Personalkosten, eigenes Personal) berücksichtigt haben. Andernfalls<br />
müssen die Software-Kosten mittelbar berechnet werden: der erforderliche Personentage-Aufwand<br />
der Software-Entwickler ist mit dem jeweiligen Personalkostensatz zu<br />
multiplizieren (und unter nicht haushaltswirksamen Kosten auszuweisen). Hier werden<br />
Sie zu Beginn der IT-Maßnahme auf Schätzungen angewiesen sein, sofern Sie nicht auf<br />
Erfahrungswerte aus vergleichbaren IT-Maßnahmen zurückgreifen können. Vermeiden<br />
Sie dabei „geschönte― Aussagen: die Ansätze für den Systementwicklungsaufwand erweisen<br />
sich häufig als zu optimistisch. Das Kriterium ist unterteilt in Kosten für die eigentliche<br />
Entwicklung (1.1.2.2.1; Kern der IT-Maßnahme), Kosten für die Anpassung von<br />
Seite 109
anderer Software und von Schnittstellen (1.1.2.2.2) und Kosten für die Evaluierung, Zertifizierung<br />
und Qualitätssicherung von Software (1.1.2.2.3).<br />
Zu beachten ist, dass ein Mehr an nicht genutzten Funktionalitäten keine Berücksichtigung<br />
in der WiBe findet.<br />
Kriterium 1.1.2.2.1<br />
Kosten für Entwicklung beziehungsweise Beschaffung von Software<br />
Darstellung von Kosten haushaltswirksam<br />
Hier werden Kostenansätze für Lizenzen, Miete und/ oder Kauf ausgewiesen.<br />
Für Open Source Software fallen üblicherweise keine Lizenzkosten an, da die erworbene<br />
Kopie legal multipliziert und weitergegeben werden kann. Darin liegt im Vergleich zur<br />
proprietären Software ein erhebliches Einsparungspotenzial, das Sie anhand der betroffenen<br />
Arbeitsplätze berechnen können.<br />
Kriterium 1.1.2.2.2<br />
Kosten für Anpassung von Software und/ oder Schnittstellen, Treiber<br />
Darstellung von Kosten haushaltswirksam<br />
Sind für die Software Anpassungen erforderlich, so können die Aufwände hier erfasst<br />
werden. Dabei ist unerheblich, ob es sich um Personentageaufwände 90 oder um Festpreisverträge<br />
handelt.<br />
Bei OSS-Projekten haben Sie die freie Wahl des Anbieters, wenn es um die Anpassung<br />
von Schnittstellen, Treibern u. ä. geht - die transparentere Wettbewerbssituation kann<br />
günstigere Angebote herbeiführen.<br />
Kriterium 1.1.2.2.3<br />
Kosten für Evaluierung, Zertifizierung und Qualitätssicherung<br />
Darstellung von Kosten haushaltswirksam<br />
Unter diese Position fallen alle haushaltswirksamen und auch nicht unmittelbar haushaltswirksamen<br />
Kosten, die durch das Testen der Software auf Eignung für den spezifizierten<br />
Verwendungszweck entstehen. Weiterhin zählen dazu auch Kosten für eine<br />
eventuell notwendige Zertifizierung der Software durch eine anerkannte Firma oder Organisation,<br />
Kosten für die Erhebung einer Mängelliste und für die Nachbesserung oder<br />
Problembehebung (sofern diese Kosten nicht durch Garantie- und Supportleistungen<br />
oder durch Berücksichtigung in anderen Kriterien der IT-WiBe bereits abgedeckt sind).<br />
90 Interne Personentageaufwände sind nach der eingangs beschriebenen Methode zu ermitteln.<br />
Dabei wird die Projektplanung zugrunde gelegt und die betreffenden Personentage mit<br />
den jeweiligen Kostenansätzen bewertet. In den Prämissen und Annahmen ist festgelegt,<br />
ob mit einem durchschnittlichen Verrechnungspreis oder nach Vergütungsgruppen bewertet<br />
wird.<br />
Seite 110
(Kosten lokal erforderlicher Anpassungen der Software werden unter Kriterium 1.1.2.2.2;<br />
Beratungsleistungen erfasst, die als „bundle― mit der Software angeboten werden, bringen<br />
Sie unter Kriterium 1.1.3.2 ein.)<br />
Kriteriengruppe 1.1.3 Kosten der Systemeinführung<br />
Unter diese Position fallen alle haushaltswirksamen und auch nicht unmittelbar haushaltswirksamen<br />
Kosten, die sich auf die Umstellung vom alten Verfahren auf die neue IT-<br />
Maßnahme beziehen und mit denen sichergestellt wird, dass die neue IT-Maßnahme<br />
von den Anwendern in vollem Umfang auch benutzt werden kann.<br />
Nicht zu diesen Kosten zählen die Kosten der laufenden Betreuung und Pflege des Systems<br />
nach der Einführungsphase; diese sind später unter den laufenden Betriebskosten<br />
der Kriteriengruppe 2.2.3 zu erfassen.<br />
Kriterium 1.1.3.1 System- und Integrationstest(s)<br />
Darstellung von Kosten haushaltswirksam/ nicht haushaltswirksam<br />
Vor Abnahme des Systems muss geprüft werden, ob die gewünschte Funktionalität vorhanden<br />
ist. Insbesondere wenn die Systemlösung eine Integration unterschiedlicher Systemkomponenten<br />
beinhaltet, ist ein anwendungsorientierter Test der Schnittstellen empfehlenswert.<br />
Zu beachten ist, dass Sie die sog. Interoperabilität (insbesondere mit anderen Behörden)<br />
sicherstellen, das heißt, die wechselseitige Verwendung von Informationen muss einfach<br />
und zuverlässig gelöst sein. In einer „Mischform― verschiedener proprietärer SW-<br />
Produkte beziehungsweise von Open Source SW und proprietärer SW wird diese Prüfung<br />
umfangreicher und zeitaufwendiger ausfallen.<br />
Kriterium 1.1.3.2 Kosten der Systeminstallation<br />
Darstellung von Kosten haushaltswirksam<br />
Unter diesem Kriterium sind alle Personalkosten, soweit diese nicht unter 1.1.1.1 erfasst<br />
sind, und alle Sachkosten anzuführen, die sich auf die Installation des neuen Verfahrens<br />
beziehen. Sachkosten der System-Installation entstehen z. B. aus der Anschaffung von<br />
Werkzeugen für die SW-Verteilung.<br />
Bei großem Installationsumfang ist zu prüfen, ob die Installationsroutine automatisiert<br />
werden kann; daraus ergeben sich erhebliche Zeiteinsparungen im Vergleich zur Einzelinstallation.<br />
Kriterium 1.1.3.3 Übernahme von Datenbeständen<br />
Darstellung von Kosten haushaltswirksam/ nicht haushaltswirksam<br />
Im Rahmen der Migration wird es zu Datenübernahmen kommen. Die dafür notwendigen<br />
Aufwendungen sind hier zu planen. Die Aufnahme der Ist-Situation bietet eine Basis, um<br />
Seite 111
die entsprechenden Aktivitäten abzuschätzen. Diese können entweder in Personentagen<br />
ausgedrückt werden oder in Festpreisangeboten von externen Lieferanten, die für spezielle<br />
Datenbereiche Übernahme- oder Umstellungsarbeiten anbieten.<br />
Bei diesem Kriterium ist zu prüfen, inwieweit die neue Anwendungssoftware die bisherigen<br />
Datenformate lesen kann oder ob hier zusätzliche Entwicklungsarbeiten mit entsprechenden<br />
(haushaltswirksamen und/ oder nicht haushaltswirksamen) Kosten entstehen.<br />
Anpassungen beziehungsweise Erweiterungen können bei OSS aufgrund der offen<br />
gelegten Schnittstellen grundsätzlich bei verschiedenen Dienstleistern „im Wettbewerb―<br />
beauftragt werden.<br />
Auch manuelle Nachbearbeitung bei der Übernahme von Datenbeständen ist zu berücksichtigen.<br />
Sie werden über einen geeigneten Maßstab das Datenvolumen bestimmen<br />
und die Kosten daraus ableiten. Sofern die betreffende(n) Applikation(en) sowohl im bisherigen<br />
(proprietären) Betriebssystem als auch im OSS-Betriebssystem angeboten werden,<br />
dürften die Kosten der Datenübernahme gering ausfallen. 91<br />
Kriterium 1.1.3.4 Erstschulung Anwender und IT-Fachpersonal<br />
Darstellung von Kosten haushaltswirksam/ nicht haushaltswirksam<br />
Die Kosten für die Erstschulung von Anwendern und IT-Fachpersonal lassen sich je<br />
Teilnehmer bei externen Schulungen exakt quantifizieren. Sofern für das IT-<br />
Fachpersonal besondere Kosten der Zertifizierung (beispielsweise durch den Software-<br />
Hersteller) anfallen, sind diese ebenfalls unter diesem Kriterium zu berücksichtigen.<br />
Auch hier ist eine Trennung zwischen haushaltswirksamen und nicht haushaltswirksamen<br />
Kostenanteilen vorzunehmen: nach der Vollkostenbetrachtung zählen dazu nicht<br />
nur die Seminargebühren und Nebenkosten (Dienstreise, Unterbringung), sondern auch<br />
die Personalkosten der entfallenden Anwesenheitszeit am Arbeitsplatz.<br />
Bei größeren Behörden wird es sinnvoll sein, für interne Schulungen Pauschalsätze zu<br />
berechnen, die die Schulungskosten je Schulungstyp und Schulungstag ausweisen und<br />
die zusammen mit den Personalkosten der jeweiligen Besoldungsstufe beziehungsweise<br />
Vergütungsgruppe die Kosten der Schulung insgesamt ausdrücken.<br />
Die Erstschulungskosten für IT-Fachpersonal bei einem Umstieg auf OSS lassen sich<br />
nicht in einem Pauschalsatz ausdrücken. In der Regel wird die Schulung extern durchgeführt<br />
und verursacht damit haushaltswirksame Kosten, deren Höhe Sie durch Angebotsvergleich<br />
verschiedener Anbieter ermitteln.<br />
Bei allen Migrationsalternativen sind gleiche Qualifizierungs- und Schulungsziele festzulegen.<br />
Die den Ausfallzeiten der zu schulenden Mitarbeiter gegenüberstehenden Kosten sind<br />
hier ebenfalls zu planen. Diese Kosten werden nicht haushaltswirksam erfasst.<br />
91 Lassen Sie dabei auch überprüfen, ob gegebeenfalls andere Behörden bereits entsprechende<br />
Konvertierungstools in Auftrag gegeben haben. Sofern es sich dabei um OSS handelt,<br />
kann diese von Ihrer Behörde kostenfrei verwendet werden.<br />
Seite 112
Kriterium 1.1.3.5 Einarbeitungskosten Anwender und IT-Fachpersonal<br />
Darstellung von Kosten haushaltswirksam/ nicht haushaltswirksam<br />
Einarbeitungskosten für den Anwender entstehen immer dann, wenn (trotz Erstschulung)<br />
eine Umstellungsphase zur Eingewöhnung erforderlich ist. Bei neuer Software wird der<br />
Anwender nicht sofort alle Funktionen in der gewünschten Routine nutzen können. Dies<br />
führt in einer Übergangszeit zu verminderter (quantitativer) Arbeitsleistung. Diese (auch<br />
individuell unterschiedlichen) Einarbeitungskosten sind nur schwer quantifizierbar. Eine<br />
pauschale Aussage ist deshalb nicht möglich. Die Erfahrung zeigt, dass dieses Kriterium<br />
kaum herangezogen wird, obwohl es fast immer relevant ist.<br />
Grundsätzlich kann bei einem erstmaligen Einsatz von neuen Oberflächen/ Benutzerschnittstellen<br />
im Client-Bereich dieses Kriterium von Bedeutung sein: hier sind vorübergehende<br />
Leistungsreduzierungen möglich.<br />
Kriterium 1.1.3.6 Sonstige Umstellungskosten<br />
Darstellung von Kosten haushaltswirksam/ nicht haushaltswirksam<br />
Unter dieser Position können sonstige Umstellungskosten der Migration zu erfasst werden.<br />
Auf eine nachvollziehbare Begründung beziehungsweise Kommentierung der einzelnen<br />
Kostenpositionen ist zu achten.<br />
Darüber hinaus sollte hinreichend überprüft werden, ob die einzustellenden Kostenpositionen<br />
nicht auch unter den spezifischen monetären Kriterien der WiBe erfasst werden<br />
können.<br />
Kriteriengruppe 1.2<br />
Entwicklungs-/Einführungsnutzen aus Ablösung des alten Verfahrens<br />
„Entwicklungsnutzen― steht in diesem Zusammenhang für den monetär quantifizierten<br />
Nutzen, der vor dem (flächendeckenden) Einsatz der IT-Maßnahme anfällt; er endet,<br />
sobald die IT-Maßnahme offiziell der anwendenden Organisationseinheit zum Einsatz<br />
übergeben wird.<br />
Kriterium 1.2.1 Einmalige Kosteneinsparungen (Vermeidung von Erhaltungs-/<br />
Erweiterungskosten Altsystem)<br />
Darstellung von Kosten/ Nutzen haushaltswirksam/ nicht haushaltswirksam<br />
Mit dem Entwicklungsnutzen sind zunächst die eher seltenen Fälle von Einsparungen<br />
gemeint, die sich aus vermeidbaren Investitionen in das vorhandene Alt-System aufgrund<br />
der IT-Maßnahme ergeben können. Soweit Investitionen beziehungsweise Erhaltungsaufwände<br />
für das Alt-System fest eingeplant oder technisch unumgänglich sind,<br />
können diese Beträge als Einsparungen eingerechnet werden.<br />
� Sachkosten für die Erhaltung umfassen beispielsweise anstehende Ersatzinvestitionen<br />
in Hardware-Komponenten u. ä. Sachkosten für die Erweiterung wären<br />
Seite 113
eispielsweise Zukauf von Speicherkapazität, Peripheriegeräten sowie Kauf von<br />
Fremdsoftware mit erweitertem Funktionsumfang.<br />
� Personalkosten für die Erhaltung beziehungsweise Erweiterung fallen z. B. an bei<br />
Änderungen der technischen oder softwaremäßigen Eigenschaften, wenn dies intern<br />
geleistet wird.<br />
Wenn die IT-Maßnahme derartige Kosten vermeiden hilft, sind diese Beträge in der Wi-<br />
Be anzusetzen. Sofern im Haushaltsplan dafür bereits ein Ansatz erfolgt ist, sind diese<br />
Einsparungen auch haushaltswirksam. In jedem Fall aber sind die Berechnungswege<br />
solcher Kosteneinsparungen präzise zu begründen und zu dokumentieren.<br />
Kriterium 1.2.2 Einmalige Erlöse (aus Verwertung Altsystem)<br />
Darstellung von Nutzen haushaltswirksam<br />
Einmalige Erlöse ergeben sich - wenn überhaupt - aus der Verwertung des Alt-Systems.<br />
Dabei handelt es sich um den Verkauf von Hardware (seltener von Software).<br />
Soweit für diese Veräußerungserlöse keine konkreten Beträge bereits vereinbart sind, ist<br />
sorgfältig zu prüfen, ob und zu welchem Preis eine Veräußerung möglich ist. Die Erlöse<br />
gehen als (einmaliger) monetärer Entwicklungsnutzen in die WiBe ein.<br />
Kriteriengruppe 2 Betriebskosten und Betriebsnutzen<br />
In der Gruppe 2 des Kriterienkataloges sind die Betriebskosten und Betriebsnutzen<br />
enthalten, die nach der Einführung der IT-Maßnahme anfallen werden.<br />
Diese Betriebskosten und Betriebsnutzen sind im Regelfall für einen Zeitraum zu ermitteln,<br />
der zusammen mit der Entwicklungs-/Einführungsdauer der IT-Maßnahme insgesamt<br />
eine Berechnungsdauer von 5 Haushaltsjahren ergibt. Von diesem Zeitraum kann<br />
in begründeten Fällen abgewichen werden 92 .<br />
� Es ist unbedingt darauf zu achten, alle monetären Angaben aufzuteilen in den haushaltswirksamen<br />
und in den nicht haushaltswirksamen Anteil.<br />
Grundüberlegungen zur Datenermittlung:<br />
� Betriebskosten und Betriebsnutzen können sich beziehen auf Sachkosten (Kriterium<br />
2.1), auf Personalkosten (2.2), auf Wartung beziehungsweise Systempflege<br />
(2.3) oder auf sonstige Positionen (2.4).<br />
� Betriebskosten entstehen ursächlich aus dem Einsatz des neuen Verfahrens. Im<br />
Sinne einer Vollkostenbetrachtung sind dabei alle Kosten anzusetzen.<br />
� (Monetäre) Betriebsnutzen entstehen als Einsparungen, die sich aus dem Wegfall<br />
des bisherigen, alten Verfahrens ergeben.<br />
92 Bei großen IT-Maßnahmen mit mehrjähriger Entwicklungszeit kann es zweckmäßig sein,<br />
den 5-Jahres-Zeitraum um diese Entwicklungsdauer zu erhöhen. Bei Infrastrukturprojekten<br />
(beispielsweise der Verkabelung von Gebäuden) kann es sinnvoll sein, auch über diesen<br />
Zeitraum hinauszugehen. Bei IT-Maßnahmen dagegen, deren Einsatzdauer bereits jetzt<br />
absehbar und begründet unter 5 Jahren liegen wird, ist ein kürzerer Zeithorizont für die IT-<br />
WiBe zwingend erforderlich.<br />
Seite 114
� Die Ermittlung fragt grundsätzlich bei jedem Einzelkriterium nach den Kosten des<br />
Einsatzes des neuen Verfahrens und stellt diesem sodann die Einsparungen gegenüber,<br />
die aus dem Wegfall des alten Verfahrens entstehen können.<br />
� Aus der Saldierung ergeben sich laufende Mehrkosten oder aber laufende Minderkosten<br />
(Einsparungen) bei jedem Kriterium. Diese Salden gehen später in die<br />
WiBe KN ein.<br />
Für alle folgenden Einzelkriterien gilt generell:<br />
� Soweit Wirkungen bei einem Kriterium nicht hinreichend exakt bezifferbar sind,<br />
wirkt sich dieses Kriterium sowohl in der WiBe KN als auch in der ergänzenden<br />
Kennzahl WiBe KN/R aus. Bei der Datenermittlung ist ein „plausibel begründeter―<br />
monetärer Ansatz vorzulegen, der als „wahrscheinlicher Schätzwert― in die monetäre<br />
Wirtschaftlichkeitsbetrachtung (WiBe KN) übernommen wird. Die im ungünstigen<br />
Fall möglichen Überschreitungen dieses Schätzwertes sind als Risikozuschlag<br />
für die Risikoabwägung (WiBe KN/R) einzugeben.<br />
� Soweit Wirkungen bei einem monetären Nutzenkriterium (Einsparung) nur qualitativ<br />
beschreibbar erscheinen, ist für dieses Kriterium kein monetärer Wert anzusetzen.<br />
Die qualitative Wirkung ist stattdessen in die Bewertung des entsprechenden<br />
qualitativ-strategischen Kriteriums in der WiBe Q (im Regelfall in den Untergruppen<br />
4.2, 4.3 oder 4.4) einzubringen.<br />
Kriteriengruppe 2.1 Laufende Sachkosten/ Sachkosteneinsparungen<br />
Laufende Sachkosten sind solche Kosten, die durch den Betrieb der neuen IT-<br />
Maßnahme verursacht werden und weder Personalkosten, noch Wartungskosten sind.<br />
Laufende Sachkosteneinsparungen sind alle Kosten des alten Verfahrens, die ab der<br />
Einführung der neuen IT-Maßnahme entfallen und die weder Personalkosten noch Wartungskosten<br />
sind.<br />
Kriterium 2.1.1 (Anteilige) Host-, Server- und Netzkosten<br />
Darstellung von Kosten/ Nutzen nicht haushaltswirksam/ nicht haushaltswirksam<br />
Das Kriterium ‗(Anteilige) Host, Server- und Netzkosten‘ bezieht sich auf solche (kalkulatorischen)<br />
Kosten, die durch die IT-Maßnahme im zentralen Rechenzentrum, im Hostbetrieb,<br />
beziehungsweise in lokalen Netzen (Client-Server-Architektur) verursacht werden.<br />
Diese Kosten sind üblicherweise als nicht haushaltswirksam in die WiBe einzustellen<br />
(Ausnahme: die betrachtete IT-Maßnahme macht Aufrüstungen erforderlich).<br />
Zu den Kosten zählen (neben eventuell anfallenden Mieten für die Hardware) die Kosten<br />
des Personals, das für den Betrieb des Hosts/ Servers beziehungsweise für die Funktionsfähigkeit<br />
der Infrastruktur interner Netze zuständig ist.<br />
Die genaue Berechnung dieser Kosten (sowohl für das Ist-Verfahren als auch für das<br />
neue Verfahren) ist dann problematisch, wenn in Ihrem Amt keine detaillierte Kostenrechnung<br />
(Kostenerfassung) vorhanden ist. Zumindest ein Verrechnungssatz „Ist-Kosten<br />
Seite 115
je CPU-Sekunde― sollte verfügbar sein, den Sie näherungsweise Ihren Berechnungen<br />
zugrunde legen können.<br />
Kriterium 2.1.2 (Anteilige) Kosten für Arbeitsplatzrechner<br />
Darstellung von Kosten/ Nutzen haushaltswirksam/ nicht haushaltswirksam<br />
Das Kriterium ‗(Anteilige) Kosten für Arbeitsplatzrechner‘ bezieht sich auf solche Betriebskosten,<br />
die durch die IT-Maßnahme am Arbeitsplatz („Endplatz―) der Anwender<br />
entstehen. Die Kosten sind üblicherweise als nicht haushaltswirksame Betriebskosten in<br />
die WiBe einzustellen. (Ausnahme: die betrachtete IT-Maßnahme macht Aufrüstungen<br />
beziehungsweise Auswechslungen bei gemieteter Hardware am Arbeitsplatz der Anwender<br />
erforderlich). Zu diesen Kosten zählen auch Kosten für die zugehörige Peripherie<br />
(Arbeitsplatzdrucker etc.). Im Standardfall wird die Hard- und Software für die einzelnen<br />
Arbeitsplätze erworben und nicht gemietet: es fallen dann keine Beträge bei diesem<br />
Kriterium an.<br />
Kriterium 2.1.3 Energie- und Raumkosten<br />
Darstellung von Kosten/ Nutzen haushaltswirksam/ nicht haushaltswirksam<br />
Die Berechnung beziehungsweise Berücksichtigung von Energie- und Raumkosten kann<br />
unterbleiben,<br />
� solange in eine Verrechnung auch bei anderen Vorhaben und bei der Kalkulation<br />
eingesetzter IT-Maßnahmen nicht erfolgt,<br />
� bei kleineren IT-Maßnahmen beziehungsweise bei Maßnahmen, bei denen Sie<br />
den Nettoeffekt zwischen ‗altem und neuem‘ Verfahren mit 0 begründen.<br />
In anderen Fällen werden Sie eine detaillierte Berechnung vornehmen, bei der Sie die<br />
technischen Daten der Hardware berücksichtigen (bei Energiekosten also im Wesentlichen<br />
den Verbrauch je Gerät in kWh, die Betriebsstunden pro Jahr je Gerät, die Anzahl<br />
der Geräte, die Energiekosten je KW).<br />
Bei den Raumkosten kann auf die tatsächliche Miete, auf die Ansätze der Kosten-<br />
Leistungsrechnung oder auf die Personalkostensätze des BMF zurückgegriffen.<br />
Kriteriengruppe 2.2<br />
Laufende Personalkosten/ Personalkosteneinsparungen<br />
Laufende Personalkosten sind solche Kosten, die durch den Betrieb der neuen IT-<br />
Maßnahme verursacht werden und weder Sachkosten noch Wartungskosten sind. Laufende<br />
Personalkosteneinsparungen sind alle Kosten des alten Verfahrens, die ab der<br />
Einführung der neuen IT-Maßnahme entfallen und die weder Sachkosten noch Wartungskosten<br />
sind.<br />
Seite 116
Kriterium 2.2.1 Personalkosten aus Systembenutzung<br />
Darstellung von Kosten/ Nutzen nicht haushaltswirksam<br />
Das Kriterium „Personalkosten aus Systembenutzung― ist dann zu berücksichtigen, wenn<br />
sie damit rechnen, dass der Zeitbedarf der Anwender für die Systembenutzung sich ändert.<br />
Es handelt sich dabei um alle Personalkosten, die in den Anwender-<br />
Organisationseinheiten im Zusammenhang mit dem neuen Verfahren stehen. Dabei sind<br />
auch Ausfallzeiten des Systems („downtime―) zu berücksichtigen. Es ist also erforderlich,<br />
die gesamte jährliche Arbeitszeit zu ermitteln, die bei allen beteiligten Dienstposten beziehungsweise<br />
Organisationseinheiten durch den Einsatz des neuen Verfahrens „gebunden―<br />
sein wird. Laufende Personalkosteneinsparungen bei der Systembenutzung<br />
sind alle Personalkosten, die in den Anwender-Organisationseinheiten im Zusammenhang<br />
mit dem alten Verfahren gebunden waren und die jetzt entfallen.<br />
Die Personalkosten insgesamt ergeben sich aus der Besoldungseinstufung beziehungsweise<br />
Vergütungsgruppe (unter Anlegung der jeweiligen Personalkostensätze). Der<br />
„Nutzen-Inkasso― von errechneten Personalkosteneinsparungen ist in vielen Fällen die<br />
kritische Größe einer IT-Maßnahme: zumeist sind es die möglichen Personalkosteneinsparungen,<br />
die eine IT-Maßnahme erst mit einem positiven Kapitalwert versehen. Auf<br />
die Berechnung des Nettoeffektes der Personalkosten ist deshalb besondere Sorgfalt zu<br />
verwenden. Nettoeffekte, die eine Personalreduzierung ausweisen („kw-Stellen―), werden<br />
besondere Aktionen nahe liegen, damit diese Einsparungspotenziale auch haushaltswirksam<br />
umgesetzt werden.<br />
Kriterium 2.2.2 Systembetreuung und –administration<br />
Darstellung von Kosten/ Nutzen haushaltswirksam/ nicht haushaltswirksam<br />
Laufende Personalkosten für die Systembetreuung und -administration des neuen IT-<br />
Systems entstehen, wenn Mitarbeiter in zentralen Unterstützungsstellen (Benutzerservice)<br />
als Ansprechpartner für Fragen der Systembenutzer benannt sind. (Die Kosten beziehen<br />
sich nicht auf Wartungs- und Pflegekosten.) Die Kosten sind mittelbar zu berechnen<br />
aus der jährlichen Stundenzahl (beziehungsweise aus dem prozentualen Anteil an<br />
der gesamten Jahresarbeitszeit), mit dem die Mitarbeiter für die Einsatzbetreuung dieser<br />
IT-Maßnahme voraussichtlich in Anspruch genommen werden. Das Kriterium erfasst<br />
weiterhin alle Personalkosten, die in zentralen Unterstützungsstellen (Rechenzentrumsbetrieb)<br />
für die Administration des IT-Systems anfallen. Die Personalbedarfsermittlung<br />
für die Systembetreuung und –administration ist insbesondere abhängig vom Ausbaustand<br />
der IT sowie von der Komplexität der Anwendungen (siehe „Grundsätze zur Bemessung<br />
des IT-Fachpersonals in obersten Bundesbehörden―, BMI-Schreiben vom<br />
1.7.96 an IMKA – OI3 – 195 052-1/12).<br />
Unter Umständen sind diese Kosten bereits in die anteiligen Host-Kosten (2.1.2) eingerechnet,<br />
sodass diese Position hier entfallen kann. Andernfalls ist eine Quantifizierung<br />
erforderlich: die jährlichen Arbeitsstunden für die System-Administration sind überschlägig<br />
mit den Personalkostensätzen der jeweiligen Besoldungsstufe in die WiBe zu übernehmen.<br />
Diese Überlegungen gelten analog für die Berechnung der Personalkosteneinsparungen<br />
aus dem Wegfall des alten Verfahrens.<br />
Seite 117
Werden jedoch neue Dienstposten erforderlich, so sind die dafür anzusetzenden Aufwände<br />
haushaltswirksam zu planen.<br />
Kriterium 2.2.3 Laufende Schulung/ Fortbildung<br />
Darstellung von Kosten/ Nutzen haushaltswirksam/ nicht haushaltswirksam<br />
Laufende Personalkosten für die Schulung und Fortbildung der Systembenutzer ergeben<br />
sich aus der Notwendigkeit, nach der Erstschulung (siehe Kriterium 1.1.3.3) neue Anwender<br />
an das System heranzuführen beziehungsweise alle Anwender mit späteren<br />
Änderungen in der Systembedienung vertraut zu machen. Hinzu kommen gegebenenfalls<br />
gezielte Nachschulungen in ausgewählten Nutzergruppen.<br />
Die Überlegungen zur Erstschulung gelten analog (siehe Kriterium 1.1.3.3).<br />
Als Pauschalwert kann ersatzweise (sofern keine anderen, spezifischen Daten vorliegen<br />
beziehungsweise sofern solche Daten mit vertretbarem Aufwand nicht berechenbar erscheinen)<br />
ein jährlicher Ansatz von 10% der Kosten der Erstschulung verwendet werden.<br />
Externe Schulungskosten werden haushaltswirksam dargestellt. Die bewerteten Ausfallzeiten<br />
der zu schulenden Mitarbeiter hingegen sind nicht haushaltswirksam.<br />
Kriteriengruppe 2.3<br />
Laufende Kosten/Einsparungen bei Wartung /Systempflege<br />
Laufende Kosten bei diesem Kriterium sind solche Kosten, die durch den Einsatz des<br />
neuen Verfahrens verursacht werden und die weder Host-, Server-, Netzkosten noch<br />
Personalkosten sind.<br />
Laufende Einsparungen bei diesem Kriterium sind alle Kosten des alten Verfahrens, die<br />
ab der Einführung des neuen Verfahrens entfallen und die weder Host-, Server-, Netzkosten<br />
noch Personalkosten sind.<br />
Kriterium 2.3.1 Wartung/ Pflege der Hardware<br />
Darstellung von Kosten/ Nutzen haushaltswirksam/ nicht haushaltswirksam<br />
In der Regel wird eine Gewährleistung auf Hardware vom Hersteller/ Lieferanten geboten.<br />
In vielen Fällen auch schon 36 Monate. Ist der Betrachtungszeitraum der WiBe länger,<br />
so sind hier für die Zeit ab dem 4. Jahr Kosten zu veranschlagen. Diese können<br />
entweder aufgrund eines vorliegenden Angebotes direkt angegeben werden oder mit<br />
marktüblichen Ansätzen von 10% – 20% auf den Kaufpreis geschätzt werden. Hier sollte<br />
jedoch in jedem Fall eine Recherche durchgeführt werden, um diesen Ansatz auf den<br />
wahrscheinlichsten Wert einzugrenzen. Diese Kosten werden haushaltswirksam dargestellt.<br />
Wird die Wartung hausintern durchgeführt, so sind in diesem Fall die Kosten für das eigene<br />
Personal anzusetzen. Dabei sind auch Kosten für die Infrastruktur beziehungsweise<br />
für die Ausrüstung der Mitarbeiter zu berücksichtigen, mit der sie die Wartungsarbei-<br />
Seite 118
ten erst bewerkstelligen können. Wenn es sich um normale IT-Arbeitsplätze handelt,<br />
kann hier durchaus auch die Sachkostenpauschale mit Zuschlag für Bildschirmarbeitsplätze<br />
des BMF angewandt werden. Diese internen Kosten werden nicht haushaltswirksam<br />
ausgewiesen.<br />
Kriterium 2.3.2 Wartung/ Update der Software<br />
Darstellung von Kosten/ Nutzen haushaltswirksam/ nicht haushaltswirksam<br />
Lizenzkosten für Update- und Servicereleases sind mit diesem Kriterium zu erfassen.<br />
Die fast regelmäßig anfallenden Updates haben bei proprietärer Software erhebliches<br />
Gewicht; diese Kosten entfallen grundsätzlich bei OSS.<br />
Neben dem eigentlichen Update-Preis sind auch Installationskosten (als Zeitaufwand<br />
des eingesetzten Personals) zu berücksichtigen. Zu den Update-/Wartungskosten im<br />
weiteren Sinne zählt auch der erforderliche Support, der gegebenenfalls als externe<br />
Dienstleistung eingekauft wird. (Bei OSS können Sie im Regelfall auf verschiedene Anbieter<br />
„im Wettbewerb― zugehen – diese Möglichkeit besteht bei proprietärer Software<br />
zwar grundsätzlich auch, aber nicht immer in gleichem Ausmaß.)<br />
Weiterhin sind hier die (Personal-) Kosten zu berücksichtigen, die im Zusammenhang<br />
mit der laufenden Lizenzierung von Softwareprodukten beziehungsweise mit dem Nachweis<br />
der Lizenzrechte anfallen.<br />
Dieser Aufwand kann bei proprietärer Software erheblich sein; er wird bei Open Source<br />
Software deutlich geringer ausfallen.<br />
Bei eigenerstellter Software liegen u. U. bereits konkretere Erfahrungswerte beziehungsweise<br />
Ausbaupläne vor (<strong>Version</strong>enkonzept). Der Wartungsaufwand ist dann mittelbar<br />
zu berechnen aus den erforderlichen Personal- und Rechnerzeiten.<br />
Kriterium 2.3.3 Ersatz-/ Ergänzungskosten<br />
Darstellung von Kosten/ Nutzen haushaltswirksam/ nicht haushaltswirksam<br />
Mit diesem Kriterium werden über die standardmäßige Wartung hinaus diejenigen Kosten<br />
erfasst, die möglicherweise während der Betriebsphase der IT-Maßnahme durch die<br />
laufende, geplante Ergänzung von Hard- und Software entstehen können.<br />
Ersatzkosten beziehen sich auf den teilweisen oder vollständigen Austausch handelsüblicher<br />
Hardware-Ausstattung (beispielsweise Komponenten von Arbeitsplatzdruckern<br />
usw.).<br />
Ergänzungskosten beziehen sich auf bereits absehbare Erweiterungen handelsüblicher<br />
Hard- und Software während der Betriebsphase.<br />
Sofern bei alternativen Lösungen von einer längeren technisch möglichen Nutzungsdauer<br />
vorhandener Hardware ausgegangen werden kann, sind diese Wirkungen monetär<br />
wie folgt zu berücksichtigen:<br />
Seite 119
5.2.3 Migrations- und Anbieterszenarien<br />
Eine Migration wird grundsätzlich verschiedene Szenarien zur Auswahl haben und unterschiedliche<br />
Anbieter werden für unterschiedliche Szenarien oder Teile davon Angebote<br />
abgeben. Die Wirtschaftlichkeitsbetrachtung sollte dies in jedem Fall berücksichtigen.<br />
Die Ausführungen in Kapitel I.C 5.2.1, „Systematik―, stellen die Basis für das Grundgerüst<br />
der WiBe dar.<br />
Eine alternative Betrachtung der WiBe hilft, die verschiedenen Szenarien und Angebotssituationen<br />
abzubilden. Die Kriterien, die von eventuell unterschiedlichen Angeboten<br />
betroffen sind, werden in verschiedenen Alternativen der Wirtschaftlichkeitsbetrachtung,<br />
mit den jeweiligen Angebotswerten gefüllt. Somit liefern die verschiedenen Alternativen<br />
der WiBe eigenständige Aussagen zu Kapitalwert und Rentabilität. Ein Vergleich der<br />
Alternativen kann dann die einzelnen <strong>Version</strong>en zueinander in Relation setzen und eine<br />
Entscheidungsbasis liefern.<br />
Die folgenden Abbildungen zeigen exemplarisch eine monetäre WiBe für die Bereiche<br />
der Einführungs- und Betriebskosten/ Nutzen (siehe die beiden nachfolgenden Abbildungen).<br />
IT-Vorhaben: Migration von Server- und Clientarchitekturen<br />
Pos. Kriterium, Erläuterung zur Selektion<br />
Nominal Gesamt, 8 Jahre Barwerte Gesamt, 8 Jahre<br />
WiBe<br />
Hinweis: Startjahr = 2005, Laufzeit = 8 Jahre,<br />
Diskontierungs-Zins = 3,8%,<br />
Break even gesamt im 5. Jahr, 2009<br />
gesamt hh.wirks. n.hh.wirks. gesamt hh.wirks. n.hh. wirks.<br />
KN Kosten + Nutzen - Entwicklung/ Einführung und Betrieb <strong>3.0</strong>77.501 29.819 <strong>3.0</strong>47.682 2.307.062 -127.577 2.434.639<br />
…davon Kosten -3.802.487 -2.437.901 -1.364.586 -3.630.750 -2.325.694 -1.305.056<br />
… davon Nutzen 6.879.987 2.467.720 4.412.267 5.937.812 2.198.118 3.739.695<br />
KN Kumuliert <strong>3.0</strong>77.501 29.819 <strong>3.0</strong>47.682 2.307.062 -127.577 2.434.639<br />
1 Entwicklungs-/Einführungskosten und Entwicklungsnutzen -2.349.509 -1.422.031 -927.478 -2.349.509 -1.422.031 -927.478<br />
…davon Kosten -1.627.351 -927.478 -2.554.829 -1.627.351 -927.478<br />
… davon Nutzen 205.320 0 205.320 205.320 0<br />
1.1 Entwicklungs-/Einführungskosten für das neue IT-Verfahren -2.554.829 -1.627.351 -927.478 -2.554.829 -1.627.351 -927.478<br />
1.1.1 Planungs- und Einführungskosten -1.165.910 -641.235 -524.675 -1.165.910 -641.235 -524.675<br />
1.1.1.1 Personalkosten (eigenes Personal) -568.175 -43.500 -524.675 -568.175 -43.500 -524.675<br />
1.1.1.2 Kosten externer Beratung -452.632 -452.632 0 -452.632 -452.632 0<br />
1.1.1.3 Kosten der Entwicklungsumgebung 0 0 0 0 0 0<br />
1.1.1.4 Sonstige Kosten für Sach-/Hilfsmittel -139.303 -139.303 0 -139.303 -139.303 0<br />
1.1.1.5 Reisekosten (eigenes Personal) -5.800 -5.800 0 -5.800 -5.800 0<br />
1.1.2 Systemkosten -786.596 -786.596 -786.596 -786.596<br />
1.1.2.1 Hardwarekosten -165.880 -165.880 -165.880 -165.880<br />
1.1.2.2 Softwarekosten -620.716 -620.716 -620.716 -620.716<br />
1.1.3 Kosten der Systemeinführung -602.322 -199.520 -402.802 -602.322 -199.520 -402.802<br />
1.2 Entwicklungs-/Einführungsnutzen aus Ablösung des alten Verfahrens 205.320 205.320 205.320 205.320<br />
1.2.1 Einmalige Kosteneinsparungen (Vermeidung von Erhaltungs-<br />
205.320 205.320 0 205.320 205.320 0<br />
1.2.2 /Erweiterungskosten Einmalige Erlöse (aus Altsystem) Verwertung Altsystem) 0 0 0 0 0 0<br />
Abbildung 20: WiBe - Beispielhafte WiBe Kalkulation 1, Einführungskosten/ -nutzen<br />
Seite 120
IT-Vorhaben: Migration von Server- und Clientarchitekturen<br />
Pos. Kriterium, Erläuterung zur Selektion<br />
Nominal Gesamt, 8 Jahre Barwerte Gesamt, 8 Jahre<br />
WiBe<br />
Hinweis: Startjahr = 2005, Laufzeit = 8 Jahre,<br />
Diskontierungs-Zins = 3,8%,<br />
Break even gesamt im 5. Jahr, 2009<br />
gesamt hh.wirks. n.hh.wirks. gesamt hh.wirks. n.hh. wirks.<br />
KN Kosten + Nutzen - Entwicklung/ Einführung und Betrieb <strong>3.0</strong>77.501 29.819 <strong>3.0</strong>47.682 2.307.062 -127.577 2.434.639<br />
…davon Kosten -3.802.487 -2.437.901 -1.364.586 -3.630.750 -2.325.694 -1.305.056<br />
… davon Nutzen 6.879.987 2.467.720 4.412.267 5.937.812 2.198.118 3.739.695<br />
KN Kumuliert <strong>3.0</strong>77.501 29.819 <strong>3.0</strong>47.682 2.307.062 -127.577 2.434.639<br />
1 Entwicklungs-/Einführungskosten und Entwicklungsnutzen -2.349.509 -1.422.031 -927.478 -2.349.509 -1.422.031 -927.478<br />
2 Betriebskosten und Betriebsnutzen 5.427.009 1.451.850 3.975.159 4.656.571 1.294.455 3.362.117<br />
…davon Kosten -810.550 -437.108 -1.075.921 -698.343 -377.578<br />
… davon Nutzen 2.262.400 4.412.267 5.732.492 1.992.798 3.739.695<br />
2.1 Laufende Sachkosten/ Sachkosteneinsparungen<br />
2.1.1 (Anteilige) Host-, Server- und Netzkosten<br />
2.1.1.1 Lfd. Kosten aus IT-Verfahren NEU 0 0 0 0 0 0<br />
2.1.1.2 Lfd. Nutzen aus Wegfall IT-Verfahren ALT 0 0 0 0 0 0<br />
2.1.2 (Anteilige) Kosten für Arbeitsplatzrechner<br />
2.1.2.1 Lfd. Kosten aus IT-Verfahren NEU 0 0 0 0 0 0<br />
2.1.2.2 Lfd. Nutzen aus Wegfall Verfahren ALT 0 0 0 0 0 0<br />
2.1.3 Energie- und Raumkosten<br />
2.1.3.1 Lfd. Kosten aus IT-Verfahren NEU 0 0 0 0 0 0<br />
2.1.3.2 Lfd. Nutzen aus Wegfall IT-Verfahren ALT 0 0 0 0 0 0<br />
2.2 Laufende Personalkosten/-einsparungen 3.882.359 -92.800 3.975.159 3.280.375 -81.741 3.362.117<br />
2.2.1 Personalkosten aus Systembenutzung 4.412.267 4.412.267 3.739.695 3.739.695<br />
2.2.1.1 Lfd. Kosten aus IT-Verfahren NEU 0 0 0 0 0 0<br />
2.2.1.2 Lfd. Nutzen aus Wegfall Verfahren ALT 4.412.267 0 4.412.267 3.739.695 0 3.739.695<br />
2.2.2 Systembetreuung und -administration -437.108 -437.108 -377.578 -377.578<br />
2.2.2.1 Lfd. Kosten aus IT-Verfahren NEU -437.108 0 -437.108 -377.578 0 -377.578<br />
2.2.2.2 Lfd. Nutzen aus Wegfall Verfahren ALT 0 0 0 0 0 0<br />
2.2.3 Laufende Schulung/Fortbildung -92.800 -92.800 -81.741 -81.741<br />
2.2.3.1 Lfd. Kosten aus IT-Verfahren NEU -92.800 -92.800 0 -81.741 -81.741 0<br />
2.2.3.2 Lfd. Nutzen aus Wegfall Verfahren ALT 0 0 0 0 0 0<br />
2.3 Laufende Kosten/Einsparungen bei Wartung /Systempflege 1.544.650 1.544.650 1.376.196 1.376.196<br />
2.3.1 Wartung/Update der Hardware 303.850 303.850 274.964 274.964<br />
2.3.1.1 Lfd. Kosten aus IT-Verfahren NEU -230.550 -230.550 0 -195.754 -195.754 0<br />
2.3.1.2 Lfd. Nutzen aus Wegfall IT-Verfahren ALT 534.400 534.400 0 470.717 470.717 0<br />
2.3.2 Wartung/Update der Software 1.240.800 1.240.800 1.101.232 1.101.232<br />
2.3.2.1 Lfd. Kosten aus IT-Verfahren NEU -487.200 -487.200 0 -420.848 -420.848 0<br />
2.3.2.2 Lfd. Nutzen aus Wegfall IT-Verfahren ALT 1.728.000 1.728.000 0 1.522.080 1.522.080 0<br />
2.3.3 Ersatz-/Ergänzungskosten<br />
2.3.3.1 Lfd. Kosten aus IT-Verfahren NEU 0 0 0 0 0 0<br />
2.3.3.2 Lfd. Nutzen aus Wegfall IT-Verfahren ALT 0 0 0 0 0 0<br />
2.4 Sonstige Laufende Kosten und Einsparungen<br />
2.4.1.1 Lfd. Kosten aus IT-Verfahren NEU 0 0 0 0 0 0<br />
2.4.1.2 Lfd. Nutzen aus Wegfall Verfahren ALT 0 0 0 0 0 0<br />
Abbildung 21: Beispielhafte WiBe Kalkulation 2, Betriebskosten/ -nutzen<br />
Ergebnis einer WiBe sollte auch ein Überblick der haushaltswirksamen Kosten sein. Dieser<br />
Überblick wird punktuell in den Zeilen obiger WiBe-Darstellung mit der Bezeichnung<br />
„davon Kosten― gegeben.<br />
5.3 Erweiterte Wirtschaftlichkeit<br />
Die erweiterte Wirtschaftlichkeit wird mit qualitativen Kriterien bewertet. Dazu wird für<br />
jedes Kriterium eine Nutzwert-Analyse durchgeführt, wobei die Beantwortung des jeweiligen<br />
Kriteriums anhand einer beschriebenen Notenskala von 0 – 10 vorgenommen 93<br />
wird. Jedes Kriterium ist in seiner Gruppe (Dringlichkeit; Qualität) mit einer Gewichtung 94<br />
versehen, deren Summe sich in der Gruppe auf 100 addiert.<br />
93 Es handelt sich dabei um eine Ordinalskala mit aufsteigender Wertigkeit der vorgefundenen<br />
Umstände, wobei 0 die Minimalbewertung und 10 die Maximalbewertung darstellt.<br />
94 siehe die Kriterienkataloge Dringlichkeit (siehe Abbildung 76 im Anhang) und Qualität (siehe<br />
Abbildung 78 im Anhang), sowie deren Gewichtungstabellen, Gewichtung Dringlichkeit<br />
(siehe Abbildung 77, im Anhang) Gewichtung Qualität (siehe Abbildung 79 im Anhang).<br />
Seite 121
5.3.1 Dringlichkeitskriterien<br />
Dringlichkeitskriterien beziehen sich einerseits auf die technische Ablösedringlichkeit des<br />
Altsystems, andererseits auf die Einhaltung von Verwaltungsvorschriften und Gesetzen.<br />
Diese Kriterien sind nicht monetär quantifizierbar. Sie werden stattdessen in eine Nutzwertbetrachtung<br />
eingebracht. Die zu beurteilenden Kriterien werden qualitativ beschrieben.<br />
Diese Beschreibung wiederum ist in eine Punktbewertung je Kriterium umzusetzen.<br />
Dafür steht zu jedem Kriterium eine „Notenskala― von 0 bis 10 zur Verfügung.<br />
Unter Bezugnahme auf die Ordnungsnummer des Kriterienkataloges für Migrationen ist<br />
jeweils zunächst eine Erläuterung beziehungsweise Abgrenzung des Kriteriums zu finden.<br />
Darauf folgt die Tabelle mit der Skalierung, aus der die Umsetzung in einen Punktwert<br />
abzuleiten ist.<br />
Kriteriengruppe 3.1 Ablösedringlichkeit Altsystem<br />
Kriterium 3.1.1 Unterstützungskontinuität Altsystem<br />
Dieses Kriterium zielt auf den derzeitigen Ist-Zustand: soweit dort Hard- und Software<br />
verwendet wird, ist das Ausmaß an (zukünftiger) Unterstützung durch den Lieferanten<br />
von Bedeutung. Stellt der Lieferant von sich aus diese Unterstützung ein, kann sich daraus<br />
der Zwang zur internen Ablösung des (an sich funktionstüchtigen) Altsystems ergeben.<br />
Die Bedeutung dieses Kriteriums ist qualitativ zu schätzen.<br />
3.1.1 Unterstützungs-Kontinuität Altsystem<br />
0 2 4 6 8 10<br />
nicht<br />
gefährdet<br />
soweit absehbar<br />
besteht kein<br />
Engpass<br />
Unterstützung<br />
läuft aus, Ersatz<br />
derzeit nicht<br />
erforderlich<br />
Seite 122<br />
Unterstützung<br />
läuft aus, kurzfristig<br />
keine<br />
Probleme<br />
Unterstützung<br />
läuft aus, Ersatz<br />
dringend<br />
Tabelle 15: Punktbewertungsskala Unterstützungskontinuität Altsystem<br />
Kriterium 3.1.2 Stabilität Altsystem<br />
Unterstützung<br />
entfällt, Neulösung<br />
zwingend<br />
Dieses Kriterium bewertet die vorhandene Ist-Lösung hinsichtlich ihrer Funktionstüchtigkeit<br />
im „tagtäglichen― Einsatz. Dabei interessieren sowohl qualitative Aussagen über<br />
Fehlerhäufigkeiten bis hin zu Systemabstürzen, als auch Bewertungen zu Problemen der<br />
Systemwartung (technischer Aspekt) beziehungsweise dabei bestehenden Personalengpässen<br />
(Verfügbarkeit von Know-how im Umgang mit auftretenden Fehlern).
Kriterium 3.1.2.1 Fehler und Ausfälle („downtime“)<br />
3.1.2.1 Stabilität des Altsystems: Fehler und Ausfälle („downtime―)<br />
0 2 4 6 8 10<br />
nicht gefährdet kaum<br />
beeinträchtigt<br />
gering beeinträchtigt,<br />
noch<br />
tolerabel<br />
Seite 123<br />
durchschnittlich<br />
beeinträchtigt,<br />
störend<br />
überdurchschnittlichbeeinträchtigt,<br />
belastend<br />
Tabelle 16: Punktbewertungsskala Fehler und Ausfälle („downtime―)<br />
Kriterium 3.1.2.2 Wartungsprobleme, Personalengpässe<br />
3.1.2.2 Stabilität des Altsystems: Wartungsprobleme, Personalengpässe<br />
sehr stark beeinträchtigt,<br />
intolerabel<br />
0 2 4 6 8 10<br />
nicht von Bedeutung<br />
selten, gering gering, noch<br />
tolerabel<br />
gering, aber<br />
absehbar zunehmend<br />
mittel,<br />
zunehmend<br />
Tabelle 17: Punktbewertungsskala Wartungsprobleme, Personalengpässe<br />
Kriterium 3.1.3 Flexibilität Altsystem<br />
anhaltend<br />
gravierend<br />
Dieses Kriterium bewertet die vorhandene Ist-Lösung hinsichtlich ihrer zu-künftigen<br />
Funktionstüchtigkeit. Dabei interessieren Aussagen über die weiteren Ausbaumöglichkeiten,<br />
über die Interoperabilität beziehungsweise über (künftige) Schnittstellenprobleme<br />
zu anderen IT-Systemen und zur Bedienbarkeit und Ergonomie des Altsystems.<br />
Die Unterkriterien sind nur qualitativ beschreibbar.<br />
Kriterium 3.1.3.1 Ausbau-/Erweiterungsgrenzen<br />
3.1.3.1 Flexibilität des Altsystems: Ausbau-/Erweiterungsgrenzen<br />
0 2 4 6 8 10<br />
nicht eingeschränkt<br />
wenig eingeschränkt<br />
eingeschränkt,<br />
kleinere Anforderungen<br />
können erfüllt<br />
werden<br />
eingeschränkt,<br />
mittlere Anforderungenkönnen<br />
nur aufwendig<br />
erfüllt<br />
werden<br />
stark eingeschränkt,<br />
viele<br />
Anforderungen<br />
können nicht<br />
realisiert werden<br />
Tabelle 18: Punktbewertungsskala Ausbau-/Erweiterungsgrenzen<br />
Ausbau beziehungsweise<br />
Erweiterung<br />
nicht möglich,<br />
aber erforderlich
Kriterium 3.1.3.2 Interoperabilität, Schnittstellenprobleme aktuell/zukünftig<br />
3.1.3.2 Flexibilität des Altsystems: Interoperabilität, Schnittstellenprobleme aktuell/zukünftig<br />
0 2 4 6 8 10<br />
nicht eingeschränkt<br />
Probleme derzeit<br />
nicht wahrscheinlich<br />
Probleme<br />
absehbar,<br />
Anpassungen<br />
problemlos<br />
Seite 124<br />
erforderliche<br />
Anpassungen<br />
aufwendig, aber<br />
nicht dringend<br />
Zahlreiche<br />
aufwendige<br />
Anpassungen,<br />
dringend<br />
Anpassungen<br />
dringend<br />
erforderlich,<br />
überfällig<br />
Tabelle 19: Punktbewertungsskala Interoperabilität, Schnittstellenprobleme aktuell/zukünftig<br />
Kriterium 3.1.3.3 Bedienbarkeit und Ergonomie (Benutzerfreundlichkeit)<br />
3.1.3.3 Flexibilität des Altsystems: Bedienbarkeit und Ergonomie<br />
0 2 4 6 8 10<br />
nicht von<br />
Bedeutung<br />
kleine ergonomische<br />
Mängel<br />
geringe Beeinträchtigungen<br />
mittlere Beeinträchtigungen<br />
erhebliche Mängel,Änderungsbedarf<br />
gravierende<br />
Mängel,<br />
unzumutbar<br />
Tabelle 20: Punktbewertungsskala Bedienbarkeit und Ergonomie (Benutzerfreundlichkeit)<br />
Kriteriengruppe 3.2 Einhaltung von Verwaltungsvorschriften und Gesetzen<br />
Kriterium 3.2.1 Einhaltung gesetzlicher Vorgaben<br />
Mit diesem Kriterium wird bewertet, inwieweit vorhandene Altsysteme dem vorhandenen<br />
beziehungsweise geänderten gesetzlichen Handlungsauftrag, d. h. einem formellen Gesetz<br />
entsprechen.<br />
Dieses Kriterium ist ein sog. MUSS-Kriterium: wenn bei diesem Kriterium die Bewertung<br />
„10 Punkte― vorzunehmen ist, muss die IT-Maßnahme in jedem Fall umgehend<br />
durchgeführt werden.<br />
3.2.1 Einhaltung gesetzlicher Vorgaben<br />
0 2 4 6 8 10<br />
Gewährleistet Absehbare<br />
Rechtsänderung,<br />
ist bereits<br />
berücksichtigt<br />
absehbare<br />
Rechtsänderung,<br />
ist ansatzweiseberücksichtigt<br />
anstehende<br />
Rechtsänderungen<br />
sind nicht<br />
berücksichtigt<br />
geltende<br />
Rechtsnormen<br />
sind mangelhaft<br />
eingehalten<br />
Tabelle 21: Punktbewertungsskala Einhaltung gesetzlicher Vorgaben<br />
geltende<br />
Rechtsnormen<br />
sind nicht eingehalten
Kriterium 3.2.2 Erfüllung Datenschutz/ -sicherheit<br />
Das Kriterium zielt darauf ab, ob das vorhandene IT-System beziehungsweise die gegenwärtige<br />
Verfahrenslösung alle datenschutzrechtlichen Forderungen erfüllt. Weiterhin<br />
ist hier die Datensicherheit zu bewerten, das heißt, inwieweit das vorhandene System<br />
technisch und organisatorisch gegen den Verlust der Vertraulichkeit, Integrität und Verfügbarkeit<br />
von Daten gesichert ist.<br />
Bei hohen Sicherheitsanforderungen ist zu prüfen, inwieweit die Forderungen des BSI<br />
(beispielsweise hinsichtlich Einsichtnahme in Quellcodes) erfüllt sind. Durch das Vorliegen<br />
des Source Codes ist es bei OSS grundsätzlich immer möglich, hohe Prüftiefen bei<br />
der Evaluierung/ Zertifizierung zu erreichen. Bei proprietärer Software ist der Hersteller<br />
vielfach nicht bereit, den Sourcecode zur Verfügung zu stellen, womit höhere Prüftiefen<br />
prinzipiell nicht erreichbar sind. In diesem Fall müsste bei nachträglicher Forderung einer<br />
höheren Prüftiefe das gesamte Verfahren ersetzt werden. Dieser Aspekt ist bei Forderungen<br />
des Datenschutzes und der Datensicherheit nach Zertifizierung zu berücksichtigen.<br />
Soweit sich bei der (Über-) Prüfung des vorhandenen IT-Systems Abweichungen zu Auflagen<br />
und Empfehlungen (beispielsweise den KBSt-Empfehlungen) ergeben haben<br />
(z. B. IT-Grundschutz-Kataloge beziehungsweise IT-Sicherheitshandbuch), sind diese<br />
hier zu berücksichtigen.<br />
Mit diesem Kriterium wird die Sicherheit bei der internen und vor allen Dingen bei der<br />
externen Kommunikation abgefragt. Wie wird die Datenübertragung gesichert? Werden<br />
sichere Protokolle eingesetzt? Existiert eine Übertragungssicherung, Zugriffskontrolle,<br />
und so weiter?<br />
Ist die Software prüfbar bzgl. IT-Sicherheit? Wie anfällig ist sie für externe Angriffe, Viren<br />
und so weiter? Ist die Software modular aufgebaut (Trennung von System und Anwendungsprogrammen,<br />
Minimierbarkeit von Anwendungsprogrammen auf notwendige Funktionen)?<br />
Existieren Zugangs- und Zugriffskontrollen?<br />
Existiert ein Sicherheitsmanagement? Gibt es ein Sicherheitskonzept, das allen Beteiligten<br />
bekannt ist? Existiert ein beschriebener Prozess zu Sicherheitsüberprüfung sowie<br />
deren Dokumentation?<br />
3.2.2 Erfüllung von Datenschutz und Datensicherheit<br />
0 2 4 6 8 10<br />
nicht<br />
beeinträchtigt<br />
kleine unbedeutende<br />
Mängel<br />
geringe Mängel,<br />
aber<br />
anderweitig<br />
abzustellen<br />
Seite 125<br />
geringe Mängel,<br />
mittelfristiger<br />
Änderungsbedarf<br />
Datenschutz<br />
und Datensicherheitmangelhafteingehalten<br />
Tabelle 22: Punktbewertungsskala Erfüllung von Datenschutz/ -sicherheit<br />
gravierende<br />
Verstöße, Anpassungen<br />
dringlich
Kriterium 3.2.3 Ordnungsmäßigkeit Arbeitsabläufe<br />
Arbeitsabläufe beziehungsweise Geschäftsprozesse und die eingebundenen IT-<br />
Maßnahmen müssen bestimmte Verfahrensrichtlinien - beispielsweise nach GGO - einhalten.<br />
Diese Richtlinien ergänzen bestehende gesetzliche Regelungen (z. B. bezogen<br />
auf Nachprüfbarkeit, Aktenmäßigkeit beziehungsweise Dokumentation). Das Kriterium<br />
drückt aus, in welchem Umfang diese (internen) Richtlinien durch das vorhandene IT-<br />
System eingehalten sind. Als Bewertungshilfe kann die Fehlerquote des Altsystems dienen.<br />
Darüber hinaus gilt die Ordnungsmäßigkeit der Arbeitsabläufe auch als wesentliche Voraussetzung<br />
für die Reduktion von Korruption im Amt. Gewährleistet das bestehende<br />
System die Ordnungsmäßigkeit der Arbeitsabläufe nicht, besteht Investitionsbedarf in ein<br />
neues System, welches die Ordnungsmäßigkeit wiederherzustellen vermag und so möglichen<br />
Missbrauch begrenzt.<br />
3.2.3 Ordnungsmäßigkeit der Arbeitsabläufe<br />
0 2 4 6 8 10<br />
nicht von Bedeutung<br />
Kleine Beeinträchtigungen <br />
Ordnungsmäßigkeitgegeben,<br />
aber aufwendigesVerfahren<br />
Seite 126<br />
Ordnungsmäßigkeitzeitweisebeeinträchtigt<br />
und aufwendigesVerfahren <br />
Ordnungsmäßigkeitdauerhaftbeeinträchtigt<br />
und aufwendigesVerfahren<br />
Tabelle 23: Punktbewertungsskala Ordnungsmäßigkeit der Arbeitsabläufe<br />
Kriterium 3.2.3 Erfüllung von Auflagen und Empfehlungen<br />
Ordnungsmäßigkeit<br />
nicht<br />
gegeben<br />
Weiterhin von Bedeutung ist auch die Bewertung, ob und beziehungsweise in welchem<br />
Umfang derzeit lizenzkonformes Arbeiten in der Behörde sichergestellt ist: so unterliegt<br />
beispielsweise proprietäre Software Lizenz- beziehungsweise Nutzungseinschränkungen,<br />
die je nach Produkt beziehungsweise Vertragsbedingungen unterschiedlich ausfallen<br />
und deren Einhaltung besondere Sorgfalt erfordert.<br />
3.2.4 Erfüllung sonstiger Auflagen und Empfehlungen<br />
0 2 4 6 8 10<br />
keine Abweichungen<br />
geringe, nicht<br />
substanziellen<br />
Abweichungen<br />
geringe Abweichungen,<br />
sind<br />
aber auch ohne<br />
Neusystem zu<br />
beheben<br />
zahlreiche Abweichungen<br />
Verfahren insgesamtverbesserungsbedürftig,<br />
da substanzielleAbweichungen<br />
vorhanden<br />
Tabelle 24: Punktbewertungsskala Erfüllung von Auflagen und Empfehlungen<br />
Verfahren widersprichtkonkreten<br />
Auflagen<br />
oder Empfehlungen
5.3.2 Qualitativ-strategische Kriterien<br />
In dieser Gruppe des Kriterienkataloges sind die qualitativ-strategischen Kriterien von IT-<br />
Maßnahmen aufgeführt. Sie beziehen sich auf die Priorität der IT-Maßnahme, auf behördeninterne<br />
Qualitätsverbesserungen und auf die Wirkung auf Mitarbeiter der öffentlichen<br />
Verwaltung. Wie in der WiBe D, werden auch in der WiBe Q die Kriterien qualitativ<br />
in einer Punkteskala mit Begründung bewertet.<br />
Kriteriengruppe 4.1 Priorität der IT-Maßnahme<br />
Kriterium 4.1.1 Bedeutung innerhalb IT- Rahmenkonzept<br />
Mit diesem Kriterium wird die IT-Maßnahme qualitativ eingeordnet hinsichtlich ihres Beitrages<br />
zur Verwirklichung des geltenden IT-Rahmenkonzeptes (und zwar letztlich im<br />
Vergleich zu anderen laufenden beziehungsweise geplanten IT-Maßnahmen). Die Bedeutung<br />
der IT-Maßnahme als Voraussetzung für andere, folgende Maßnahmen ist zu<br />
begründen.<br />
Dieses Kriterium ist ein „Quasi-MUSS-Kriterium“: wenn hier die Bewertung „10<br />
Punkte― vorzunehmen ist, muss die IT-Maßnahme grundsätzlich durchgeführt werden.<br />
Eine solche Bewertung setzt voraus, dass die betroffene IT-Maßnahme unabdingbare<br />
Voraussetzung für die Realisierung eines Großteils der Planungen des IT-<br />
Rahmenkonzeptes darstellt. Daraus folgt, dass nur wenige IT-Maßnahmen einer Behörde<br />
die Punktzahl 10 erzielen können und zwar nur jene IT-Maßnahmen mit höchster<br />
Priorität. Es empfiehlt sich daher, alle IT-Maßnahmen einer Behörde zu priorisieren<br />
und dies als Grundlage für die Begründung der Punktvergabe in diesem Kriterium<br />
zu verwenden.<br />
4.1.1 Bedeutung innerhalb des IT-Rahmenkonzeptes<br />
0 2 4 6 8 10<br />
nicht von Bedeutung<br />
untergeordnete<br />
Bedeutung<br />
wichtige IT-<br />
Maßnahme,<br />
zeitlich nicht<br />
dringend<br />
Seite 127<br />
Realisation ist<br />
Vorbedingung<br />
für weitere<br />
wichtige IT-<br />
Maßnahmen<br />
bedeutendes<br />
zeitkritische IT-<br />
Maßnahme<br />
Tabelle 25: Punktbewertungsskala Bedeutung innerhalb IT- Rahmenkonzept<br />
Schlüsselstellung<br />
im IT-<br />
Rahmenkonzept<br />
Kriterium 4.1.2 Einpassung in den IT-Ausbau der Bundesverwaltung insgesamt<br />
Mit diesem Kriterium ist zu bewerten, ob sich die IT-Maßnahme in die Informationsmanagement-Strategie<br />
der Bundesregierung einpasst, das heißt, die behördenübergreifende<br />
Bedeutung der IT-Maßnahme ist hier auszuformulieren: hier sind alle Überlegungen<br />
einzubringen, die auf einen gemeinsamen (integrativen, standardsetzenden beziehungsweise<br />
standardgemäßen) Ausbau der Informationstechnik abzielen.
4.1.2 Einpassung in den IT-Ausbau<br />
0 2 4 6 8 10<br />
nicht von Bedeutungbeziehungsweise<br />
keine positive<br />
Auswirkung<br />
geringfügige<br />
Förderung des<br />
IT-Ausbaus<br />
weitergehende<br />
Förderung des<br />
IT-Ausbaus<br />
Seite 128<br />
IT-Maßnahme<br />
ist wichtig, aber<br />
nicht zeitkritisch<br />
IT-Maßnahme<br />
ist wichtig und<br />
zeitkritisch<br />
IT-Maßnahme<br />
ist zwingend für<br />
die IT-<br />
Integration in<br />
der Bundesverwaltung<br />
Tabelle 26: Punktbewertungsskala Einpassung in den IT-Ausbau der Bundesverwaltung<br />
insgesamt<br />
Kriterium 4.1.3 Folgewirkung für Kommunikationspartner<br />
Mit diesem Kriterium wird die behördenübergreifende Verknüpfbarkeit (Interoperabilität)<br />
der IT-Maßnahme bewertet. Der Einstieg in OSS-Lösungen kann andere Standardformate<br />
für den Datenaustausch erbringen beziehungsweise andere Aufbereitungsmechanismen<br />
für die Weiterverwendung erforderlich machen. Dieser Effekt kann innerhalb eines<br />
Ressorts (speziell im Verhältnis Ministerium zu Geschäftsbereich), aber auch zwischen<br />
Ressorts bedeutsam sein. Je unmerklicher dabei die Folgewirkungen für andere Kommunikationspartner<br />
(auch außerhalb der öffentlichen Verwaltung) sind, desto höher ist<br />
die Qualität der Lösung zu bewerten.<br />
Des Weiteren sind unter diesem Kriterium auch Wirkungen auf Dritte außerhalb der eigenen<br />
Verwaltung (Bürger, Unternehmen, andere Verwaltungen) zu fassen. So ist z. B.<br />
darauf zu achten, dass Bürger, Unternehmen und andere Verwaltungen bei der Nutzung<br />
von Online-Dienstleistungen nicht zum Erwerb bestimmter Softwareprodukte (Browser,<br />
Textverarbeitungsprogramme) gezwungen werden. Ist der Zugang zu solchen Onlineangeboten<br />
nur mit einer bestimmten (kostenpflichtigen) Software möglich, würde dies die<br />
Akzeptanz bei diesen Dritten und damit mögliche Synergieeffekte in der eigenen Verwaltung<br />
verringern.<br />
4.1.3 Folgewirkungen für den Kommunikationspartner<br />
0 2 4 6 8 10<br />
keine positiven<br />
Wirkungen<br />
behördenübergreifend<br />
keine für den<br />
Anwender<br />
merkbaren<br />
Verbesserungen<br />
im<br />
Informationsaustausch<br />
zu erwarten<br />
punktuelle Verbesserungen<br />
im<br />
behördenübergreifendenInformationsaustausch<br />
zu<br />
erwarten<br />
erhebliche<br />
Verbesserung<br />
bezogen auf<br />
einen Vorgangstypus<br />
sind<br />
erreichbar<br />
erhebliche<br />
Verbesserung<br />
bezogen auf<br />
mehrere Vorgangstypen<br />
sind<br />
erreichbar<br />
Tabelle 27: Punktbewertungsskala Folgewirkung für Kommunikationspartner<br />
erhebliche<br />
Verbesserung<br />
durch behördenübergreifendeVereinheitlichung<br />
von<br />
Datenstrukturen<br />
und Verfahrensroutinen
Kriterium 4.1.4 Pilot-Projekt-Charakter des IT-Investitionsvorhabens<br />
Die erstmalige Entwicklung und der Einsatz innovativer Verfahren im Rahmen von Migrationsprojekten<br />
können für die investierende Verwaltungseinheit im Sinne der WiBe KN<br />
monetär unwirtschaftlich sein. Gleichzeitig kann dieses Verfahren aber für Folgevorhaben<br />
wichtige Erkenntnisse liefern, welche zu Einsparungen von Entwicklungskosten in<br />
anderen Verwaltungseinheiten führen. Im Idealfall sollten die entwickelten Migrationsverfahren<br />
und –lösungen auf andere Verwaltungseinheiten des Bundes übertragbar sein<br />
(Einer für Alle – Prinzip). 95<br />
Im Mittelpunkt dieses Kriteriums steht sowohl der Pilotierungscharakter des Migrationsprojektes,<br />
als auch die Nachnutzbarkeit der gesamten Projektergebnisse für Dritte.<br />
Im Folgenden sind einige Kriterien gelistet, welche zeigen, ob die Ergebnisse der Migrationsmaßnahme<br />
für eine Nachnutzung durch andere Projekte aufbereitet wurden beziehungsweise<br />
geeignet sind:<br />
� Güte und Umfang der Ergebnisdokumentation,<br />
� Projektaufbau und –vorgehensweise (bspw. nach V-Modell),<br />
� Grad der erforderlichen Modifikationen (Anpassungsaufwand),<br />
� Möglichkeiten zur Kooperationen bei Implementierung und Weiterentwicklung.<br />
Der strategische Rang ist umso höher zu bewerten: je weiter und flächendeckender das<br />
Einsatzspektrum der innovativen Lösung in der Bundesverwaltung anzusetzen und je<br />
schlüssiger das Nachnutzungskonzept einer Migrationsmaßnahme ist.<br />
4.1.4 Pilot-Projekt-Charakter der IT-Maßnahme<br />
0 2 4 6 8 10<br />
nicht von Bedeutung<br />
Ersteinsatz<br />
einer Standardlösung<br />
Ersteinsatz<br />
einer Eigenentwicklung,weitereAusbaustufen<br />
geplant<br />
Seite 129<br />
behördeninternes<br />
Pilotprojekt,<br />
keine Standardlösung,Folgeinvestitionen<br />
Pilotprojekt mit<br />
weiteren Einsatzfeldernbehördenübergreifend<br />
Pilotprojekt mit<br />
flächendeckenderEinsatzabsichtbehördenübergreifend<br />
(Einer für Alle<br />
- Prinzip)<br />
Tabelle 28: Punktbewertungsskala Pilot-Projekt-Charakter des IT-Investitionsvorhabens<br />
Kriterium 4.1.5 Nachnutzung bereits vorhandener Technologien<br />
Dieses Kriterium bewertet, ob in der geplanten IT-Maßnahme technische Lösungen (Verfahren)<br />
zum Einsatz kommen, die sich bereits in anderen Verwaltungseinheiten des<br />
Bundes bewährt haben. Die Nachnutzung bereits vorhandener technischer Lösungen<br />
wirkt sich zumeist nicht nur minimierend auf die Höhe der Investitionskosten aus, son-<br />
95 Die Nachnutzung von Projektergebnissen für vergleichbare Projekte ist ein Ziel öffentlicher<br />
Investition (sie hierzu insbesondere die Kieler Beschlüsse).
dern bewirkt darüber hinaus, dass sich innerhalb der Verwaltung technologische Standards<br />
etablieren und somit Insellösungen vermieden werden.<br />
Achtung: Monetär bewertbare Ansätze der Nachnutzung bereits vorhandener Technologie<br />
werden bereits in der WiBe KN bewertet. Es gilt in diesem Kriterium Aspekte zu erfassen,<br />
die nur qualitativ bewertbar sind.<br />
4.1.5 Nachnutzung bereits vorhandener Technologien<br />
0 2 4 6 8 10<br />
Übernahme<br />
eines Verfahrens<br />
nicht möglich<br />
Übernahme<br />
eines Verfahrens:<br />
großer<br />
Anpassungsaufwand,<br />
besitzt geringe<br />
Verbreitung<br />
Übernahme<br />
eines Verfahrens:<br />
mittlerer<br />
Anpassungsaufwand,<br />
besitzt<br />
geringe Verbreitung<br />
Seite 130<br />
Übernahme<br />
eines Verfahrens:<br />
geringer<br />
Anpassungsaufwand,<br />
besitzt geringe<br />
Verbreitung<br />
Übernahme<br />
eines Verfahrens:<br />
mittlerer<br />
Anpassungsaufwand,<br />
besitzt große<br />
Verbreitung<br />
Übernahme<br />
eines Verfahrens:<br />
geringer<br />
Anpassungsaufwand,<br />
besitzt<br />
große Verbreitung<br />
Tabelle 29: Punktbewertungsskala Nachnutzung bereits vorhandener Technologien<br />
Kriterium 4.1.6 Plattform-/Herstellerunabhängigkeit<br />
Mit diesem Kriterium bewerten Sie, inwieweit die angestrebte Lösung es erlaubt, (auch)<br />
künftig einerseits auf unterschiedlichen Plattformen eingesetzt werden zu können und<br />
andererseits weitere Ausbaustufen der IT-Architektur 96 möglichst frei und ohne Vorgaben<br />
des Hard- oder Softwareherstellers bzw. bestehender oder zukünftig geplanter Plattformen<br />
gestalten und auf verschiedene Anbieter zurückgreifen zu können.<br />
Plattformunabhängige Lösungen stellen sich mit Blick auf die Einführung aus monetärer<br />
Sicht häufig weniger günstig dar als vergleichbare Lösungen, die auf proprietäre Plattformen<br />
festgelegt sind. Plattformunabhängigkeit bezieht sich dabei auf unterschiedliche<br />
Typen von Plattformen:.<br />
� Hardware<br />
� Betriebssystem<br />
� Infrastruktursoftware (z.B. Datenbank Management System)<br />
� Standardsoftware (z.B. Officeanwendungen)<br />
� Entwicklungsplattformen<br />
Plattformunabhängigkeit verfolgt eher einen (mittel- bis) langfristigen strategischen Ansatz.<br />
Mit plattformunabhängigen Lösungen kann sowohl der Produktlebenszyklus als<br />
auch die Einsatzdauer verlängert werden. Damit überwiegen dann die wirtschaftlichen<br />
Vorteile einer plattformunabhängigen Lösung in der Zukunft, wenn einerseits eine Überarbeitung<br />
oder gar der Austausch der Lösung nicht mehr nur durch den Austausch einer<br />
Plattform notwendig wird und andererseits die Plattform bei Bedarf (z.B. aus wirtschaftli-<br />
96 Architektur einer Behörde über die Gesamtheit ihrer Anwendungen.
chen Gründen) ausgewechselt werden kann, ohne dass gleichzeitig alle darauf aufsetzenden<br />
Lösungen ausgewechselt werden müssen.<br />
Umso geringer der Aufwand ist, mit dem eine Lösung zwischen Plattformen gewechselt<br />
werden kann, desto höher der Grad der Plattformunabhängigkeit und in der Regel auch<br />
höher der Grad der Herstellerunabhängigkeit (sofern es unterschiedliche Anbieter von<br />
Plattformen gibt).<br />
4.1.6 Plattform-/Herstellerunabhängigkeit<br />
0 2 4 6 8 10<br />
Nicht von Bedeutung<br />
bzw.<br />
keine ersichtlichen<br />
Wirkungen<br />
zu erwarten<br />
Geringfügige<br />
qualitative Verbesserungen<br />
ohne strategisches<br />
Gewicht<br />
(z.B. Lösung<br />
steht in mehreren<br />
<strong>Version</strong>en<br />
für unterschiedlichePlattformen<br />
zur Verfügung(Pseudounabhängigkeit))<br />
Software kann<br />
mit geringfügigem<br />
Aufwand<br />
auf andere<br />
Plattformen<br />
portiert werden.<br />
Vorhandene<br />
Hardware/ Peripherie<br />
kann<br />
auch weiterhin<br />
in den geplanten<br />
Fristen<br />
eingesetzt werden.<br />
Seite 131<br />
Plattform-/<br />
Herstellerunabhängigkeit<br />
ist<br />
gewährleistet<br />
und die angestrebte<br />
Lösung<br />
trägt zur Erweiterung<br />
der Aus-<br />
und Umbauoptionen<br />
bei.<br />
Plattform-/<br />
Herstellerunabhängigkeit<br />
und<br />
Investitionsschutz<br />
sind<br />
gewährleistet,<br />
Vorgaben aus<br />
der IT-Architektur<br />
97 werden<br />
eingehalten.<br />
Tabelle 30: Punktbewertungsskala Plattform-/Herstellerunabhängigkeit<br />
Kriteriengruppe 4.2<br />
Qualitätszuwachs bei Erledigung von Fachaufgaben<br />
Weitgehende<br />
Gestaltungsautonomieverbunden<br />
mit der<br />
Weiternutzung<br />
vorhandener<br />
Hard- und Software.<br />
Kriterium 4.2.1 Qualitätsverbesserung bei der Aufgabenabwicklung (Leistungssteigerung<br />
bei …)<br />
In diesem Kriterium werden die qualitativen Wirkungen, bezogen auf die Aufgabenabwicklung,<br />
bewertet. Insbesondere, ob der Arbeitsprozess als solcher und somit auch das<br />
Produkt an Qualität gewinnt. Zu beurteilende qualitative Verbesserungen können bspw.:<br />
eine Vereinfachung der behördeninternen Arbeitsabläufe sowie die Entlastung von Doppel-<br />
und Routinearbeiten sein. Aber auch aktuellere, redundanzfreiere und vollständigere<br />
Informationsquellen und eine geringere Fehlerquote durch interaktive Hilfefunktionen zur<br />
Anwenderunterstützung sind Beispiele für eine Bewertung. IT-Maßnahmen können weiterhin<br />
bei komplizierten Vorgängen hohe Qualitätsstandards (z. B. ein Qualitätsmanagement<br />
nach der ISO 9001 oder dem EFQM-Modell) einhalten/beachten helfen.<br />
Die Neuentwicklung von Fachanwendungen, die beispielsweise bei einer Umstellung auf<br />
OSS-Lösungen notwendig sein wird, kann so gleichzeitig einen Qualitätssprung in der<br />
Aufgabenabwicklung durch den Anwender möglich machen.<br />
97 Interne Vorgaben einer Behörde zur Umsetzung ihrer Architektur, Festlegung von Standards,<br />
Technologien, Schnittstellen usw.
Bei der Bewertung dieses Kriteriums sollte auf die Trennung der Wirkungen in Bezug auf<br />
formale (die Aufgabenabwicklung selbst verbessert sich) und materielle (das Ergebnis<br />
der Aufgabenabwicklung verbessert sich) Verbesserungen geachtet werden.<br />
4.2.1 Qualitätsverbesserung bei der Aufgabenabwicklung<br />
0 2 4 6 8 10<br />
nicht von Bedeutungbeziehungsweise<br />
keine positiven<br />
Wirkungen<br />
geringe Verbesserung<br />
des<br />
formalen Arbeitsablaufs<br />
mittlere<br />
Verbesserung<br />
hinsichtlich<br />
des formalen<br />
Arbeitsablaufs<br />
Seite 132<br />
erhebliche<br />
Verbesserungen<br />
des formalenArbeitsablaufs<br />
erhebliche<br />
Verbesserung<br />
des materiellen<br />
Arbeitsergebnisses<br />
erhebliche<br />
Verbesserung<br />
des formalen<br />
Arbeitsablaufs<br />
und des materiellenArbeitsergebnisses<br />
Tabelle 31: Punktbewertungsskala Qualitätsverbesserung bei der Aufgabenabwicklung<br />
Kriterium 4.2.2 Beschleunigung von Arbeitsabläufen und -prozessen<br />
IT-Maßnahmen bewirken in der Regel eine qualitative Verbesserung der Aufgabenabwicklung<br />
in Form einer Beschleunigung der Arbeitsabläufe und -prozesse. Diese Effekte<br />
sind, soweit sie sich als kürzere Bearbeitungszeit berechnen lassen, bereits unter den<br />
laufenden Betriebsnutzen monetär in der WiBe KN erfasst.<br />
Die Beschleunigung von Arbeitsabläufen und -prozessen ermöglicht eine Senkung der<br />
Durchlaufzeit. Die Wirkungen entstehen durch elektronische Kommunikation, den Abbau<br />
von Medienbrüchen, den Zugriff auf aktuelle und allen Berechtigten zugängliche Datenbanken<br />
bis hin zum Wegfall einzelner Bearbeitungsstationen. Aktuellere, präzisere<br />
Kommunikationsformen verringern die Transport-, die Liege- und die Rüstzeiten.<br />
Die Einschätzung des qualitativen Kriteriums ergibt sich aus einer kritischen Bewertung<br />
der Verbesserungen, welche die IT-Maßnahmen dem amtsinternen Anwender bieten<br />
wird.<br />
4.2.2 Beschleunigung von Arbeitsabläufen und –prozessen<br />
0 2 4 6 8 10<br />
nicht von Bedeutungbeziehungsweise<br />
keine positiven<br />
Wirkungen<br />
geringe Beschleunigung<br />
zu<br />
erwarten, aber<br />
Effekte nicht<br />
einschätzbar<br />
Verkürzung bis<br />
zu 10% der<br />
bisherigen<br />
Durchlaufzeit<br />
möglich<br />
Verkürzung bis<br />
zu 30% der<br />
bisherigen<br />
Durchlaufzeit<br />
möglich<br />
Verkürzung bis<br />
zu 50% der<br />
bisherigen<br />
Durchlaufzeit<br />
möglich<br />
Verkürzung<br />
mehr als 70%<br />
der bisherigen<br />
Durchlaufzeit<br />
möglich<br />
Tabelle 32: Punktbewertungsskala Beschleunigung von Arbeitsabläufen und -prozessen<br />
Kriterium 4.2.3 Einheitliches Verwaltungshandeln<br />
Das Kriterium stellt darauf ab, inwieweit durch die neue IT-Maßnahme bislang unterschiedliche<br />
Vorgangsbearbeitungen (sowohl formal als auch materiell) zukünftig einheit-
lichen Standards folgen. Dies kann sich ergeben aus dem jeweils aktuellen Zugriff auf<br />
gleich strukturierte Daten und durch die organisatorische und informationstechnische<br />
Harmonisierung von Verwaltungsvorgängen. In jedem Fall ist bei diesem Kriterium die<br />
Außenwirkung zu beachten (im Sinne von „wie wirkt das Verfahren auf unterschiedliche<br />
externe Adressaten?―).<br />
4.2.3 Einheitliches Verwaltungshandeln<br />
0 2 4 6 8 10<br />
nicht von Bedeutungbeziehungsweise<br />
keine positiven<br />
Wirkungen<br />
keine spürbare<br />
Reduzierung<br />
von Sonderfällen<br />
zu erwarten<br />
punktuelle Verbesserung<br />
behördenintern<br />
Seite 133<br />
erhebliche<br />
Verbesserung<br />
bezogen auf<br />
einen Vorgangstypus<br />
erhebliche<br />
Verbesserung<br />
durch behördeninterneVereinheitlichung<br />
von<br />
Datenstrukturen<br />
und Verfahrensroutinen<br />
Tabelle 33: Punktbewertungsskala Einheitliches Verwaltungshandeln<br />
erhebliche<br />
Verbesserung<br />
durch behördenübergreifendeVereinheitlichung<br />
von<br />
Datenstrukturen<br />
und Verfahren<br />
Kriterium 4.2.4 Erhöhung von Verständlichkeit und Nachvollziehbarkeit<br />
Dieses Kriterium bewertet den Beitrag der IT-Lösung zur Erhöhung der Verständlichkeit<br />
und Nachvollziehbarkeit sowohl für interne als auch externe Adressaten. Ein wesentlicher<br />
Aspekt kann z. B. die Informationsbereitstellung, die Informationsvermittlung sowie<br />
die Transparenz von (Management)-Entscheidungen sein.<br />
4.2.4 Erhöhung von Verständlichkeit und Nachvollziehbarkeit<br />
0 2 4 6 8 10<br />
nicht von Bedeutungbeziehungsweise<br />
keine positiven<br />
Wirkungen<br />
nur geringfügige<br />
Änderung zum<br />
derzeitigen Ist-<br />
Zustand<br />
verschiedene,<br />
kleinere Mängel<br />
behoben<br />
wesentliche<br />
bisherige Mängel<br />
abgestellt<br />
qualitativ unmittelbarersichtliche<br />
Erhöhung<br />
für einzelne<br />
Adressaten<br />
Tabelle 34: Punktbewertungsskala Verständlichkeit und Nachvollziehbarkeit<br />
Kriterium 4.2.5 Imageverbesserung<br />
qualitativ unmittelbarersichtliche,bedeutsame<br />
Erhöhung<br />
für zahlreiche<br />
Adressaten<br />
Das Image der öffentlichen Verwaltung ist in manchen Bereichen eher negativ geprägt<br />
(„Bürokratie―). Eine Imageverbesserung kann erfolgen durch verbesserte Dienstleistungen<br />
(wie oben bewertet) und durch eine wirksamere Vermittlung dieser Leistungssteigerungen<br />
an die externen Adressaten. Soweit die IT-Maßnahme dazu (trotz aller subjektiven<br />
Einschätzung und vieler Unwägbarkeiten) einen positiven Beitrag leisten kann, ist<br />
dieser Effekt hier einzubringen.
4.2.5 Imageverbesserung<br />
0 2 4 6 8 10<br />
nicht von Bedeutungbeziehungsweise<br />
keine positiven<br />
Wirkungen<br />
Kurzfristig keine<br />
wahrnehmbare<br />
Änderung<br />
positive Wirkung<br />
bei einzelnen<br />
Adressaten<br />
zu erwarten<br />
Seite 134<br />
positive Wirkung<br />
mittelfristig<br />
bei vielen Adressaten<br />
nachhaltig positive<br />
Wirkung bei<br />
einigen Adressaten<br />
Tabelle 35: Punktbewertungsskala Imageverbesserung<br />
Kriteriengruppe 4.3 Mitarbeiterbezogene Effekte<br />
Kriterium 4.3.1 Attraktivität der Arbeitsbedingungen<br />
nachhaltig positive<br />
Wirkung bei<br />
vielen Adressaten<br />
Die Einführung neuer IT-Lösungen verändert regelmäßig bisherige Arbeitsabläufe und ist<br />
auch mit dem Einsatz neuer Hard- und Software verbunden. Dies steigert für den Anwender<br />
gegebenenfalls die (subjektiv erlebte) Attraktivität seines Arbeitsplatzes, was<br />
auch durch eine höhere Qualifikation via Einsatz moderner Technik erreicht werden<br />
kann. Eine positive Beeinflussung der Arbeitsplatz-Attraktivität wird sich tendenziell fördernd<br />
auf die Arbeitszufriedenheit und damit auch auf die Produktivität auswirken.<br />
Bei OSS-Lösungen im Client-Bereich ist dieses Kriterium zu prüfen. Der Umstieg auf<br />
eine neue, andersartige Arbeitsoberfläche kann im ungünstigen Fall zur Verunsicherung<br />
und zu Ängsten bis hin zu Widerständen führen. Diesen hinlänglich bekannten Effekten,<br />
die sich aus der Einführung von Neuerungen ergeben können, stehen andererseits positive<br />
Wirkungen gegenüber: OSS-Lösungen erlauben dem Anwender auch die Nutzung<br />
im privaten Bereich ohne rechtliche und steuerliche Probleme - dies trägt zur Attraktivität<br />
der Arbeitsbedingungen bei.<br />
4.3.1 Attraktivität der Arbeitsbedingungen<br />
0 2 4 6 8 10<br />
nicht verbessert/<br />
ist nicht<br />
von Bedeutung<br />
leichte Verbesserung<br />
mittlere Verbesserung<br />
in wenigen<br />
Bereichen<br />
mittlere Verbesserung<br />
in mehreren<br />
Bereichen<br />
erhebliche<br />
Verbesserung<br />
in wenigen<br />
Bereichen<br />
Tabelle 36: Punktbewertungsskala Attraktivität der Arbeitsbedingungen<br />
Kriterium 4.3.2 Qualifikationssicherung/ -erweiterung<br />
erhebliche<br />
Verbesserung<br />
in mehreren<br />
Bereichen<br />
Die Einführung neuer IT-Lösungen kann (mittelfristig) die Qualifikation der betroffenen<br />
Mitarbeiter in zweierlei Weise beeinflussen. Einerseits führen IT-Lösungen zum Erwerb<br />
von Fertigkeiten im Umgang mit IT-Systemen: die Einführung solcher Lösungen trägt<br />
dann zur indirekten Qualifikationserweiterung der Anwender bei. Andererseits kann mit<br />
dem Einsatz neuer IT-Lösungen auch die Übernahme anspruchsvollerer, umfassenderer
Aufgabenbereiche verbunden sein. Zusammen mit der Anwenderschulung resultiert daraus<br />
eine Qualifikationserweiterung im direkten fachlichen Aufgabenbereich.<br />
4.3.2 Qualifikationssicherung/-erweiterung<br />
0 2 4 6 8 10<br />
nicht beeinflusst<br />
beziehungsweise<br />
keine<br />
positiven<br />
Wirkungen<br />
6 Fazit<br />
Geringe<br />
Effekte hinsichtlich<br />
IT-<br />
Handhabung zu<br />
erwarten<br />
Erhebliche<br />
Effekte bei IT-<br />
Handhabung zu<br />
erwarten<br />
Seite 135<br />
erhebliche<br />
Effekte bei IT-<br />
Handhabung<br />
und aufgabenbezogeneWeiterentwicklung<br />
deutliche Erweiterung<br />
der aufgabenbezogenenQualifikation<br />
Tabelle 37: Punktbewertungsskala Qualifikationssicherung/ -erweiterung<br />
Erhebliche<br />
fachbezogene<br />
Höherqualifikation<br />
Es sei abschließend an dieser Stelle darauf hingewiesen, dass sich pauschale Empfehlungen<br />
für das eine oder andere Migrationsszenario aus der hier vorgestellten Methodik<br />
der Wirtschaftlichkeitsbetrachtung nicht belastbar ableiten lassen. Die Praxis zeigt sehr<br />
unterschiedliche Anforderungen bei vermeintlich gleichen Ausgangsbedingungen, sodass<br />
allgemein verbindliche Aussagen hier keinen Sinn machen.<br />
Es ergibt sich also die Notwendigkeit, jedes Migrationsprojekt nach den vorgeschlagenen<br />
Methodiken zu planen und die Wirtschaftlichkeit entsprechend zu berechnen.<br />
Die im Kapitel 5.1.1 „Aufbau und Vorgehensweise der WiBe für Migrationen― erläuterte<br />
Vorgehensweise bei Migrationen und insbesondere auf die "Vorgehensweise im Rahmen<br />
der monetären und nicht monetären WiBe" (Kapitel I.C 5.1.1.3) gibt dem Anwender<br />
einen Einstieg in die Vorüberlegungen zur Wirtschaftlichkeitsbetrachtung für Migrationen.<br />
Hierbei handelt es sich um:<br />
� Fragen zur Ist-Situation<br />
Hiermit wird die Ausgangssituation für die Migration beurteilt. Anhand der dort<br />
aufgeführten Fragen wird ein konkreter Handlungsbedarf abgeleitet, der in eine<br />
Migration münden kann, für die eine WiBe zu erstellen ist. Mit der kommentierten<br />
und dokumentierten Beantwortung dieser Fragen wird eine solide Basis für die<br />
Begründung der Migration gelegt (Beantwortung der Frage: „Warum soll migriert<br />
werden?―).<br />
� Fragen zur Soll-Situation<br />
Mit diesen Fragestellungen können die gewählten Migrationsalternativen schon<br />
im Vorfeld verifiziert werden. Die fokussierte Migrationsalternative ist hinreichend<br />
zu kommentieren und begründen. Damit entsteht eine Dokumentation, die wiederum<br />
die Grundlage für die Begründung der Migrationsalternative liefert (Beantwortung<br />
der Frage: „Wohin soll migriert werden?―).
� Rahmenbedingungen<br />
Diese Informationen helfen, den Rahmen abzustecken und gewisse Aktivitäten<br />
schon im Vorfeld entsprechend zu kanalisieren (z. B. Prozessanalyse in eigenständigem<br />
Projekt).<br />
Hat der Anwender mit den oben aufgeführten Aktivitäten seinen Migrationsbedarf und<br />
die Migrationsalternative verifiziert, kann er die Wirtschaftlichkeitsbetrachtung erstellen.<br />
Dazu empfiehlt sich eine schrittweise Vorgehensweise, die sich an folgenden Kapiteln<br />
ausrichtet:<br />
� Grundsätzliche Überlegungen zur Kostenerhebung (Kapitel I.C 3.3)<br />
Hier werden Informationen gegeben zu möglichen Migrationsphasen, dem Personalbedarf<br />
bei der Migration sowie der Eruierung der Soft- und Hardwarekosten.<br />
Diese stellen die Grundlage dar für die spätere Berechnung der Personal- und<br />
Technikkosten für den Migrationsprozess und den anschließenden Betrieb des<br />
migrierten Szenarios.<br />
� Analyse der Ausgangssituation (Kapitel I.C 4)<br />
Zur Abschätzung der mengenmäßigen Aufwände ist eine Erhebung der Ist-<br />
Situation des zu migrierenden Szenarios erforderlich. Die Mengen helfen später<br />
die neue Soll-Situation zum einen kostenmäßig einzuschätzen und zum anderen<br />
erzielbare Ersparnisse oder Optimierungen zu lokalisieren.<br />
� Monetäre Wirtschaftlichkeit (Kapitel I.C 5.2)<br />
Hier erfolgt nun die eigentliche Berechnung der Wirtschaftlichkeit. Im monetären<br />
Bereich werden über die Bereiche der Einführung (also das Migrationsprojekt<br />
selbst) und den Betrieb Kennzahlen für Kosten und Nutzen ermittelt. Eine positive<br />
Kennzahl an dieser Stelle ergibt schon einen sehr hohen Befürwortungsfaktor<br />
für die Migration.<br />
� Erweiterte Wirtschaftlichkeit (Kapitel. I.C 3.3)<br />
Mit der erweiterten Wirtschaftlichkeit werden die qualitativen Faktoren bewertet.<br />
Dies geschieht mit Nutzwertanalysen, in denen ein ähnlicher Fragenkatalog wie<br />
im Kap. 1.4.1 abgebildet zu bearbeiten ist. Als Ergebnis werden zwei quantifizierte<br />
Kennzahlen errechnet, die mit jeweiligen hohen Werten die Migration ersatzweise<br />
zur monetären Kennzahl befürworten (niedrige Werte sollten sich aufgrund<br />
der in den Vorüberlegungen getroffenen Entscheidungen nicht mehr einstellen).<br />
Seite 136
D Thema: Empfehlungen<br />
Die nachfolgenden Empfehlungen zur Migration von Software (von der Entscheidung bis<br />
zum Betrieb) enthalten zunächst einige allgemeine und grundsätzliche Empfehlungen,<br />
die sich aus den im Leitfaden betrachteten Weiterentwicklungen am Softwaremarkt ergeben.<br />
Empfehlungen, die schon in Vorgängerversionen gegeben wurden und die nach<br />
wie vor Bestand haben, werden auch weiterhin nachfolgend beschrieben. Hierzu gehören<br />
unter anderem die empfohlenen Vorgehensmodelle, nach denen Migrationen durchgeführt<br />
werden können sowie deren bedarfsgerechten Verwendungsmöglichkeiten. Ergänzend<br />
benennen die Autoren des Leitfadens die aus ihrer Sicht wesentlichen Punkte,<br />
die für eine erfolgreiche Durchführung von Migrationsprojekten wichtig sind.<br />
1 Grundsätzliche Empfehlungen<br />
An den grundsätzlichen Empfehlungen des <strong>Migrationsleitfaden</strong>s hat sich seit der ersten<br />
<strong>Version</strong> nichts geändert. Es ist vielmehr so, dass die Gültigkeit der zu Beginn ausgesprochenen<br />
Empfehlungen heute noch sehr viel stärker zu unterstreichen ist.<br />
Die Machbarkeit eines Wechsels von proprietären Lösungen hin zu OSS-basierten Lösungen,<br />
sei es punktuell oder vollständig, ist noch viel deutlicher gegeben, als dies<br />
schon bei der Veröffentlichung des ersten <strong>Migrationsleitfaden</strong>s der Fall war. Unterstützt<br />
wird dies durch eine weiter gestiegene Produktvielfalt, insbesondere bei den quelloffenen<br />
Lösungen und einer weitergehenden Anpassung des Funktionsumfangs an proprietäre<br />
Lösungen.<br />
Insbesondere (jedoch nicht ausschließlich) hat durch die Verabschiedung und laufende<br />
Fortschreibung von SAGA mit der verwaltungseigenen Hausstandardisierung die Investitionssicherheit<br />
für kommerzielle Anbieter von Linux- und Open Source Software<br />
kontinuierlich zugenommen. Dies spiegelt sich in dem gewachsenen Softwareangebot<br />
wider.<br />
Daneben zeigt die zunehmende Abkehr von proprietären Schnittstellen, Formaten, Protokollen<br />
und die ständig wachsende Nutzung von Standards bei den Anbietern proprietärer<br />
Software, dass die Forderungen nach mehr Offenheit und die Verwendung von Standards<br />
durch maßgebliche Stellen in der öffentlichen Verwaltung und eine Reihe von IT-<br />
Unternehmen ihre Wirkung zeigen und der richtige Weg sind. Diesen Forderungen sollten<br />
sich die gesamte öffentliche Verwaltung und auch die Wirtschaft anschließen, damit<br />
Interoperabilität und Kommunikationsfähigkeit verbessert sowie die Kosten für den IT-<br />
Einsatz minimiert werden können. Denn es gilt unbestritten, dass mit einem wachsenden<br />
Grad der Standardisierung auf Basis von wirklicher offenen Standards die Wirtschaftlichkeit<br />
des Softwareeinsatzes gestärkt wird durch:<br />
� den einsetzenden beziehungsweise sich verstärkenden Wettbewerb von Produkten<br />
und Lösungen,<br />
� eine geringere Herstellerabhängigkeit und<br />
� einen insgesamt breiteren Dienstleistungsmarkt.<br />
Allgemeingültige Aussagen zu Wirtschaftlichkeitsvorteilen der unterschiedlichen Plattform-Strategien<br />
(siehe Abschnitt I.D 2.1) können allerdings aufgrund der inzwischen<br />
Seite 137
noch unterschiedlicheren Ausgangssituationen und Produktqualitäten nur selten getroffen<br />
werden. Es gilt jedoch, dass bis zu einem gewissen Punkt, wie aus den Betrachtungen<br />
im Abschnitt I.A 3 deutlich wird, mit wachsendem Grad der Integration der Produkte<br />
einer Plattform die Wirtschaftlichkeit aus mehreren Gründen zunimmt:<br />
� Durch höhere Produktivität, bei gut (ohne Systembrüche) aufeinander abgestimmten<br />
Produkten.<br />
� Durch die wachsende Wiederverwendbarkeit von Komponenten und Lösungen,<br />
die mit gleicher Middleware-Technologie entwickelt wurden.<br />
� Durch Einsparungen bei Vereinheitlichung von Beschaffungs- und Wartungsprozessen<br />
und gegebenenfalls -verträgen.<br />
Hinsichtlich der Wirtschaftlichkeit der alternativen Ziele, Windows-basierte Plattform versus<br />
Linux-basierte Plattform, lässt sich festhalten, dass sich eine Umstellung auf eine<br />
Linux-basierte Plattform heute mehr denn je als ökonomisch sinnvolle Variante gegenüber<br />
der Migration auf eine neue Microsoft-<strong>Version</strong> erweisen kann. Insbesondere der<br />
Wegfall oder die Reduzierung von Lizenzkosten kann in mehreren Fällen zu direkten<br />
(monetären) Einsparungen führen, beispielsweise bei:<br />
� serverseitiger Teilmigration, verbunden mit einer HW- und SW-Konsolidierung,<br />
insbesondere wenn Linux-Know-how und Linux-Systeme bereits vorhanden sind<br />
oder bei<br />
� clientseitiger Teilmigration von MS Office Produkten.<br />
Dies wird zusätzlich durch die größere Nähe von Open Source Software zu Standards<br />
und die ihr eigene Offenheit unterstützt. Insbesondere, wenn zur Beurteilung der Einsparungen<br />
die strategische Dimension herangezogen wird, auf die ausführlich im Thema<br />
Wirtschaftlichkeit von Softwaremigrationen eingegangen wird.<br />
Zusammenfassend können folgende Grundsatzempfehlungen formuliert werden:<br />
� Verankerung der Wirtschaftlichkeit als Leitbild der IT-Gesamtstrategie bei angemessener<br />
Berücksichtigung der Faktoren Innovation und Organisation.<br />
� Einsatz von offenen, von IT-Industrie und Open Source Community gleichermaßen<br />
ohne Einschränkung nutzbarer Standards als Grundlage zur Auswahl und Integration<br />
von Software-Produkten zur Vermeidung extremer Herstellerabhängigkeiten<br />
� Einbeziehung von Lösungen auf Basis von Open Source Software in die projektbezogenen<br />
Wirtschaftlichkeitsbetrachtungen im Rahmen der Migrationsentscheidung.<br />
(siehe hierzu Kapitel I.C)<br />
� Auch der Einsatz des Betriebssystems Linux als Basis der IT-Plattform ist für alle<br />
Anwendungsbereiche machbar und kann wirtschaftlich sein.<br />
� Berücksichtigung der vorangegangenen Grundsatzempfehlungen bei der Entscheidungsfindung<br />
für Migrationsvorhaben (siehe I.D 2.1).<br />
Auch wenn die Grundsatzempfehlungen nicht die Anforderungen und Rahmenbedingungen<br />
einer konkreten Ausgangssituation berücksichtigen können, soll an dieser Stelle auf<br />
detaillierte Empfehlungen unter Berücksichtigung unterschiedlicher Szenarien verzichtet<br />
Seite 138
werden. Diese können aufgrund der gewachsenen Vielfalt an unterschiedlichen Ausgangsszenarien<br />
und Produkten und Lösungen nur beispielhaft und punktuell sein und<br />
versperren womöglich den Blick auf die große Vielfalt an Möglichkeiten. Dafür werden<br />
konkretere Einsatzempfehlungen innerhalb der Module II, „Modul Infrastrukturen― und III,<br />
„Modul Anwendungen―, zu den betrachteten Produkten, Technologien und Migrationspfaden<br />
gegeben, dort wo dies sinnvoll ist.<br />
Weiterhin beinhalten die beiden nachfolgenden Themen „Rechtliche Aspekte von Softwaremigrationen―<br />
und „Wirtschaftlichkeitsbetrachtung von Softwaremigrationen― themenbezogene<br />
Hinweise und Empfehlungen.<br />
2 Vorgehensempfehlungen für Migrationsprojekte<br />
In den folgenden Abschnitten werden unterschiedliche Vorgehensmodelle zur Durchführung<br />
von Migrationen und Migrationsprojekten betrachtet.<br />
Migrationsprojekte sind in der Regel komplexe und vielschichtige Vorhaben. Dies betrifft<br />
sowohl vollständige Migrationen, das heißt die Migration der gesamten IT-Infrastruktur<br />
(Client- und Serverbereich) als auch Migrationen in Teilen, also die Migration eines klar<br />
abgegrenzten Bereiches der IT-Infrastruktur, zum Beispiel nur die Server, nur die Clients<br />
oder auch nur eine einzelne Anwendung. Im letzten Fall spricht man auch gelegentlich<br />
von punktueller Migration. Migrationsprojekte besitzen neben ihrer in der Regel vorhandenen<br />
Komplexität noch ein paar weitere Eigenschaften, auf die besondere Aufmerksamkeit<br />
gelegt werden sollte. Ansonsten ist ein Migrationsprojekt ein IT-Projekt wie jedes<br />
andere und es sind die entsprechenden Aufgabenfelder zu bearbeiten.<br />
Die nachfolgende Abbildung verdeutlicht einen typischen, mehrere Phasen umfassenden<br />
Migrationsprozess mit seinen Teilaspekten. Die Abbildung zeigt deutlich, dass eine Migration<br />
wesentlich mehr als nur die Umstellung der verwendeten Produkte und Technologien<br />
beinhaltet.<br />
PHASE 1<br />
PHASE 2<br />
PHASE 3<br />
PHASE 4<br />
Entscheidung<br />
Projekt-<br />
Planung<br />
Realisierung<br />
Einf.-Schulung<br />
Administratoren<br />
Anwender-<br />
Information<br />
Tests<br />
Seite 139<br />
Ist-<br />
Analyse<br />
Systemintegration<br />
Einf.-Schulung<br />
Anwender<br />
Feinkonzept<br />
Einführung<br />
Betrieb Wartung Support Schulungen<br />
Abbildung 22: Phasen eines Migrationsprozesses
Phase 1: Entscheidungsfindung<br />
Ausschlaggebend für eine Migrations- oder Weiterentwicklungsempfehlung sind die Ergebnisse<br />
einer langfristig angelegten Wirtschaftlichkeitsbetrachtung. Auch wenn aus<br />
technischer und juristischer Sicht der Weg für eine Komplett- oder Teilmigration ohne<br />
Einschränkungen möglich und gegeben ist, können wirtschaftliche Überlegungen ihn<br />
unter gegebenen Rahmenbedingungen als wenig sinnvoll erscheinen lassen. Aufgrund<br />
vielfältiger Zusammenhänge zwischen den einzelnen Komponenten und Systemen einer<br />
IT-Infrastruktur und der Anwendungswelt muss bei der Entscheidungsfindung daher<br />
stets eine langfristige Perspektive (siehe Kapitel I.C 2, Einleitung zu den Wirtschaftlichkeitsbetrachtungen)<br />
beachtet werden.<br />
Dabei unterscheidet sich die Betrachtung aus dem Blickwinkel der Einführung der Open<br />
Source Software nicht von den üblichen Beurteilungsanalysen in der IT, beispielsweise<br />
im Kontext der Hardware- oder Softwarekonsolidierung. Die üblicherweise in den Verwaltungen<br />
und der Wirtschaft gleichermaßen verfolgten Plattform-Strategien sind:<br />
� Auf Basis von offenen Standards und Spezifikationen eng aufeinander abgestimmte<br />
System- und Anwendungsplattformen, gegebenenfalls unter zusätzlichem<br />
Einsatz von spezialisierten Integrationsprodukten.<br />
� Auf Basis von herstellerspezifischen (nicht oder nur zum Teil offen gelegten<br />
Schnittstellen und Spezifikationen), eng aufeinander abgestimmte System- und<br />
Anwendungsplattformen, gegebenenfalls unter Einsatz von herstellereigenen Integrationsprodukten.<br />
� (historisch) Einsatz von Insel-Lösungen zur punktuellen Abdeckung von Fachverfahren<br />
und –anwendungen.<br />
Da die Open Source Software von ihrem Ursprung her häufig mit dem Einsatz von<br />
offenen Standards verbunden ist, bildet sie eine weitere besondere Variante hierzu.<br />
� Auf Basis von offenen Standards und Spezifikationen aufeinander abgestimmte<br />
System- und Anwendungsplattformen mit Nutzung des offenen (wieder verwendbaren)<br />
Source Codes.<br />
Während die Entscheidung zum punktuellen Einsatz eines weitverbreiteten quelloffenen<br />
Produktes wie beispielsweise des Webservers Apache in der Regel sehr pragmatisch<br />
und zügig entschieden werden kann, erfordert eine Entscheidung, beispielsweise zur<br />
flächendeckenden Einführung von Open Source Software und Ablösung proprietärer<br />
Inseln, aufgrund ihrer langfristigen Tragweite eine methodische Vorgehensweise. Deren<br />
elementaren Meilensteine sind:<br />
� Erarbeitung einer IT-Gesamtstrategie unter Berücksichtigung der bestehenden finanziellen,<br />
organisatorischen, innovationsbedingten und personellen Zielsetzungen.<br />
� Definition der künftigen Open-Source-Plattform-Strategie unter Berücksichtigung<br />
der langfristigen Wirtschaftlichkeitsberechnungen im Hinblick auf den Einsatz von<br />
freien und proprietären Standardprodukten.<br />
� Festlegung aller zur Sicherstellung der internen und externen Wiederverwendbarkeit<br />
sowie Interoperabilität notwendigen Standards.<br />
Seite 140
� Auswahl der Produkte zur Abdeckung der Anforderungen.<br />
� Definition des Vorhabens mit dem dazugehörigen Zeit- und Aktionsplan sowie Sicherstellung<br />
der Haushaltsfinanzierung.<br />
Bei diesem Prozess kann für die einzelnen Phasen auf bereits gängige Methoden und<br />
Werkzeuge aus der öffentlichen Verwaltung zurückgegriffen werden, wie die nachfolgende<br />
Abbildung darstellt.<br />
Strategie Plattform Standards Produkte Vorhaben<br />
IT-Strategie<br />
E-Government 2.0<br />
WiBe<br />
IT-Architekturkonzept<br />
Plattformunabhängigkeit<br />
von Fachanwendungen<br />
<strong>Migrationsleitfaden</strong><br />
SAGA<br />
Seite 141<br />
WiBe<br />
EVB-IT<br />
UfAB<br />
V-Modell<br />
Abbildung 23: Entscheidungsprozess zur Durchführung einer Migration<br />
Phase 2: Planung und Konzeption<br />
Die Phase der Entscheidung liefert letztendlich die grundlegende Zielrichtung der Migration,<br />
die konkrete Ausgestaltung erfolgt dann in der Phase 2, der konkreten Planung und<br />
Konzeption. Eine gute Planung und Vorbereitung der eigentlichen Migration ist um so<br />
wichtiger, umso größer das Migrationsvorhaben ist. Dies gilt vor allem dann, wenn ein<br />
großes Migrationsvorhaben auch noch in einem relativ kurzen, überschaubaren Zeitraum<br />
durchgeführt werden soll. In einem solchen Fall ist der Fokus insbesondere auf die Anwender<br />
zu richten, da diese hiervon besonders stark belastet werden.<br />
Je mehr Anwender von den Auswirkungen eines Migrationsprojektes betroffen sind und<br />
je stärker sich diese Auswirkungen im täglichen Umgang mit der IT bemerkbar machen,<br />
desto wichtiger ist eine frühzeitige aktive Einbeziehung und umfassende Information aller<br />
relevanten Gruppen (siehe auch Abschnitt I.D 2.3, „Checkliste der Erfolgsfaktoren―).<br />
Hierzu gehören neben den Anwendern und dem IT-Personal insbesondere auch die<br />
Interessenvertreter, wie Personalvertretung, Sicherheitsbeauftragte, Datenschutzbeauftragte<br />
und so weiter. Diese sind zwar in der Regel bei jedem IT-Projekt zu beteiligen, bei<br />
Migrationsprojekten und insbesondere, wenn es um eine Umstellung der gesamten IT-<br />
Infrastruktur geht, ist es hilfreich, die relevanten Beteiligten mit im Boot zu haben, da sie<br />
intensiv mit dazu beitragen können, die Akzeptanz bei den Anwendern zu verbessern.<br />
Im Übergang von der Konzeption zur Implementierung stellen sich vor allem noch einmal<br />
die Fragen nach der Wirtschaftlichkeit und in diesem Zusammenhang nach dem „Make<br />
or Buy―. Auch hier spielt wiederum die IT-Strategie eine wichtige Rolle, die Aussagen<br />
über Ziele der Personalentwicklung beim eigenen IT-Personal enthalten sollte und Vorgaben<br />
beinhalten, die eine Entscheidung an dieser Stelle deutlich vereinfachen. Solche<br />
Vorgaben und Zielsetzungen können unter anderem sein, das IT-Personal für bestimmte<br />
Plattformen auszubilden, Softwareentwicklung als eigene Aufgabe zu definieren oder<br />
von vornherein auszuschließen.
Phase 3 und 4: Umsetzung und Betrieb<br />
Die weiteren Phasen der Implementierung und des späteren Betriebs gestalten sich in<br />
Migrationsprojekten nicht anders als in jedem anderen IT-Projekt.<br />
2.1 Vorgehensmodelle<br />
Insbesondere bei vollständigen Migrationen oder Migrationen von größeren Teilbereichen<br />
der IT-Infrastruktur lassen sich zwei unterschiedliche Wege bei einem Migrationsvorhaben<br />
beschreiten. Das eine ist der schnelle Weg, bei dem man ohne lange Umwege<br />
und Pausen vom Ausgangspunkt zum Ziel gelangt. Man spricht auch oft vom „Big Bang―.<br />
Der andere Weg ist eher ein sanfter, bei dem man sich Stück für Stück weiterbewegt und<br />
sich immer mehr an die sich wechselnde Landschaft gewöhnt. Beide Wege der Migration<br />
haben ihre Vor- und Nachteile.<br />
In punktuellen Migrationen stellt sich meist nicht die Frage nach dem besten Weg, denn<br />
es ist zum Beispiel nur selten sinnvoll eine Anwendung über einen längeren Zeitraum<br />
und in mehreren Einzelschritten zu migrieren.<br />
2.1.1 Schnelle Migration („Big Bang“)<br />
Eine schnelle Migration ist nicht, wie der Name vermuten lässt, durch ihre Schnelligkeit<br />
geprägt, sondern dadurch, dass die Migration innerhalb eines überschaubaren und vor<br />
allem festgelegten Zeitraumes durchgeführt wird. Eine schnelle Migration hat einen definierten<br />
Beginn (Anfangsdatum) und ein definiertes Ende (Enddatum). Am Ende steht der<br />
Beginn des vollständigen Wirkbetriebes.<br />
Die Durchführung einer schnellen Migration stellt hohe bis sogar sehr hohe Anforderungen<br />
an:<br />
� die Organisation des Projektes<br />
� die Organisation der betroffenen Behörde<br />
� die Technik<br />
� die Finanzen<br />
� die Administratoren<br />
� die Benutzer.<br />
Insbesondere die Anforderungen an die Administratoren und die Benutzer dürfen dabei<br />
nicht unterschätzt werden. Dies gilt umso mehr, je weniger Know-how bezüglich der<br />
neuen IT-Landschaft bei den Administratoren und den Benutzern verfügbar ist. Andererseits<br />
besteht der Vorteil einer schnellen Migration darin, dass die Administratoren sich<br />
nicht über einen längeren Zeitraum mit zwei unterschiedlichen IT-Ausrichtungen auseinandersetzen<br />
müssen. Sie können sich schon nach relativ kurzer Zeit (den Anforderungen<br />
des Projektes angemessen) ausschließlich auf die neuen Systeme konzentrieren.<br />
Wichtig ist ferner, dass die benötigten Finanzen innerhalb eines relativ kurzen Zeitraumes<br />
verfügbar sein müssen. Umfang und vor allem die Komplexität und die Vielfalt der<br />
zu migrierenden Anwendungen und Systeme bestimmen, wann und wie viel Finanzmittel<br />
Seite 142
ereitzustellen sind. Dieser Aspekt wird am Ende mit über die Machbarkeit einer schnellen<br />
Migration entscheiden.<br />
Die hohen Anforderungen an die Organisation der Behörde konzentrieren sich zum einen<br />
auf die Qualifizierung der Mitarbeiter, die weiterhin ihren täglichen Pflichten nachgehen<br />
müssen. Das heißt, dass Störungen des Betriebes der Behörde unbedingt minimiert<br />
werden müssen. Zum anderen muss der laufende IT-Betrieb aufrecht erhalten bleiben.<br />
Insbesondere eine Umstellung der gesamten Serverlandschaft stellt hier hohe Ansprüche<br />
an alle Beteiligten, da sich die Migration der einzelnen Serverdienste nicht beliebig<br />
partitionieren lässt und die Administratoren den laufenden Betrieb garantieren und zugleich<br />
auf die neuen Systeme eingewiesen werden müssen.<br />
Diese Anforderungen können durch geeignete Umstellungs- und Rollout-Konzepte gelöst<br />
werden. Auch der Aufbau einer parallelen IT-Landschaft hierfür ist möglich, wodurch<br />
jedoch erhöhte Anforderungen an die Technik und letztlich zusätzliche Kosten entstehen.<br />
Aufgrund dieser hohen Anforderungen stellt sich natürlich die Frage, ob eine schnelle<br />
Migration überhaupt sinnvoll ist, beziehungsweise für wen zu empfehlen ist.<br />
Gründe für eine schnelle Migration sind:<br />
� Es besteht der Zwang zu einer Migration, das heißt, dass zum Beispiel der Support<br />
für die alten Systeme ausläuft.<br />
� Die Administratoren und Benutzer werden zwar intensiv, dafür aber nur einmal<br />
mit Neuerungen konfrontiert und nicht jährlich fortlaufend.<br />
� Die Administratoren müssen sich nicht über längere Zeiträume mit der Komplexität<br />
heterogener Welten auseinandersetzen.<br />
Unter welchen Voraussetzungen und für wen ist eine schnelle Migration sinnvoll?<br />
Liegt eine überschaubare und nicht übermäßig „verwobene― Systemlandschaft vor, ist<br />
dies zunächst eine gute Voraussetzung für eine schnelle Migration. Dies ist der Fall,<br />
wenn nur wenige Anwendungen und Dienste für die Aufgabenerfüllung eingesetzt werden.<br />
Diese Voraussetzung trifft nicht immer nur auf kleine und einfach strukturierte Verwaltungen<br />
und Organisationen zu. Behörden und Organisationen egal wie groß, die mit wenigen<br />
großen, meist serverbasierten Fachanwendungen ausgestattet sind und mit denen<br />
der überwiegende Teil der Aufgaben erledigt wird, sind gute Beispiele hierfür. Die Voraussetzungen<br />
treffen aber auch auf kleine bis mittlere Behörden mit wenigen Fachanwendungen,<br />
Standardbürokommunikation und Office-Einsatz mit wenig komplexen Dokumenten<br />
und Vorlagen zu.<br />
Eine weitere gute Voraussetzung ist in den Behörden gegeben, die bereits über das<br />
notwendige Know-how für die zukünftige IT-Landschaft bei den Administratoren verfügen.<br />
Sei es, dass diese sich in ihrer Freizeit mit diesen Systemen auseinandersetzen<br />
oder bereits schon einzelne Anwendungen und Dienste mit neuer Technik vorhanden<br />
sind. In diesem Zusammenhang kann auch wieder eine rechtzeitig festgelegte Strategie<br />
dafür Sorge getragen haben, dass die IT-Mitarbeiter rechtzeitig auf die neuen Aufgaben<br />
vorbereitet wurden.<br />
Seite 143
Ist außerdem bei den Mitarbeitern auch noch die nötige Offenheit für Neuerungen und<br />
Interesse an den neuen Aufgaben vorhanden, sind dies ebenfalls ideale Voraussetzungen<br />
für eine schnelle Migration.<br />
2.1.2 Sanfte Migration<br />
Die Gründe für die Wahl eines sanften Migrationsweges werden deutlich bei einem<br />
Rückblick auf die Anforderungen und die Gründe für eine schnelle Migration:<br />
� Behörden und Verwaltungen mit knappen Budgets können die notwendigen Kosten<br />
der Haushaltslage angepasst verteilen.<br />
� Fehlendes Know-how kann sukzessive aufgebaut und damit Kosten eingespart<br />
werden.<br />
Da die Migration komponentenweise erfolgt, können die einmal geschulten IT-<br />
Mitarbeiter anschließend als Multiplikatoren fungieren, sodass bei der Migration<br />
der nächsten Komponente schon ein höherer Grad an Know-how verfügbar ist.<br />
� Bestehende Widerstände können langsam abgebaut und Vorbehalte aufgelöst<br />
werden.<br />
� Komplexe IT-Strukturen können Stück für Stück aufgelöst werden.<br />
Die nachfolgende Abbildung skizziert beispielhaft, wie eine möglichst sanfte Migration<br />
aussehen könnte.<br />
Know-How-Aufbau<br />
DBMS-<br />
Server<br />
Web-Server<br />
Verzeichnis -<br />
Server<br />
Mail- &<br />
Kalender-<br />
Server<br />
SERVERMIGRATION<br />
Seite 144<br />
File- & Print-<br />
Server<br />
DNS- &<br />
DHCP-<br />
Server<br />
Migration der Fach- und Office-Anwendungen<br />
EVTL.<br />
OFFICE-<br />
MIGRATION<br />
Office/Desktop<br />
DESKTOP-<br />
MIGRATION<br />
Zeitlicher Verlauf<br />
Abbildung 24: Beispiel einer sanften und stufenweisen Migration<br />
Zu Beginn sollte eine einfach herauszulösende Komponente für die Migration gewählt<br />
werden. In dem obigen Beispiel steht dort der DBMS-Server. Dabei geht es nicht um die<br />
Migration der Datenbankanwendungen, sondern um das Aufsetzen eines parallelen<br />
DBMS. Grundkenntnisse zu DBMS dürften vorhanden sein und spätestens bei der Migration<br />
der nächsten Komponente, der Web Server, wird in der Regel auch ein DBMS
enötigt. Der Directory Server ist zunächst eine alleinstehende Komponente, kann aber<br />
eventuell schon im Zusammenhang mit dem Webserver genutzt werden und ist möglicherweise<br />
eine Voraussetzung für die folgende Groupware-Migration. Anschließend erfolgt<br />
die Migration der Datei-, Netz- und Druckdienste. Letztendlich wird der Desktop<br />
migriert, nachdem parallel zu den Komponentenmigrationen alle Fach- und Officeanwendungen<br />
im Hintergrund migriert wurden.<br />
Wie gesagt, hierbei handelt es sich um ein mögliches Beispiel und je nach bestehender<br />
IT-Infrastruktur und vorhandenen Abhängigkeiten kann sich die Reihenfolge auch ganz<br />
anders gestalten.<br />
Bei einer sanften Migration können die Komponenten für die einzelnen Schritte nicht<br />
beliebig ausgetauscht und verschoben werden; was zusammengehört, soll auch zusammenbleiben.<br />
Ferner ist wichtig, dass der Prozess zeitlich nicht überstrapaziert und<br />
ein realistischer Endtermin gesetzt wird. Der Realisierungszeitraum muss jedoch der<br />
Komplexität von Pflege und Wartung und damit dem Aufwand, der für die Administratoren<br />
anfällt, Rechnung tragen. Da der administrative Aufwand in einer bunten IT-<br />
Landschaft meist höher als in einer homogenen Landschaft ist, sollte der gesamte Umstellungsprozess<br />
auch bei einer sanften Migration 2 bis 3 Umstellungsabschnitte mit einem<br />
insgesamt zeitlich überschaubaren Horizont nicht überschreiten.<br />
Abbildung 24 zeigt die drei Umstellungsabschnitte der Beispielmigration. Beispielhaft<br />
angewandt auf eine Migration weg von einer Windows-basierten IT-Infrastruktur hin zu<br />
einer Linux-basierten IT-Infrastruktur kann die Migration zunächst serverseitig relativ weit<br />
vorangetrieben werden. Vor allem mit Samba, Terminalservices und auch der Möglichkeit,<br />
Outlook als Groupware- und Messaging-Client weiterzuverwenden, stehen Hilfen<br />
zur Verfügung, welche die zwischenzeitliche Heterogenität der IT-Landschaft ermöglichen,<br />
ohne dabei Einschränkungen hinnehmen zu müssen.<br />
Erst ganz am Ende, wenn alle Fach- und Officeanwendungen parallel zu serverseitigen<br />
Migrationsprozess umgestellt wurden, kann die Migration des Desktops, heißt die clientseitige<br />
Migration von Windows nach Linux vorgenommen werden. Sofern die Umstellungen<br />
der Fach- und Officeanwendungen dies zulassen, kann sogar überlegt werden, in<br />
einem Zwischenschritt MS Office nach OpenOffice.org oder StarOffice auf einem Windows-Client<br />
zu migrieren.<br />
2.2 Mögliche Auswirkungen der Migrationspfade<br />
2.2.1 Aufwand<br />
Bezüglich des Aufwandes zur Durchführung einer Migration gibt es keine Abhängigkeiten<br />
zwischen Aufwand und dem Typ des Migrationspfades. Ob fortführend oder ablösend,<br />
ob Ablösung von Windows-basierten Infrastrukturen oder umgedreht, der für eine<br />
Migration notwendige Aufwand ist am Ende immer von den jeweiligen Anforderungen,<br />
der bestehenden Ausgangssituation und den strategischen Zielsetzungen abhängig.<br />
Dies gilt auch für den Aufwand, der durch den nachfolgenden Betrieb entsteht. Vereinfachende<br />
und falsche Annahmen, wie zum Beispiel, dass OSS-Produkte zwar einerseits<br />
keine Lizenzkosten verursachen, dem aber hohe Aufwendungen durch komplexere<br />
Seite 145
Administration, mehr Schulungsbedarf und unzureichenden Support entgegenstehen,<br />
haben keine Gültigkeit.<br />
Aufwand für Support, Wartung und Pflege der Software hängen von den jeweiligen Systemen<br />
und ihrer Nutzung ab, wie oft und welche Änderungen und Erweiterungen an Konfiguration,<br />
Aufbau und Funktionalitäten durchgeführt werden müssen, welche Tools und<br />
welches Know-how zur Verfügung stehen, wie die verfügbaren Lizenzmodelle gestaltet<br />
sind, ob Lizenzkosten anfallen und unter welchen Bedingungen und in welcher Höhe.<br />
Diese und noch viel mehr Faktoren sind ausschlaggebend für die Folgeaufwendungen<br />
eines gewählten Migrationspfades.<br />
Dies macht deutlich, dass prinzipiell alle sinnvollen und machbaren Varianten hinsichtlich<br />
der Wirtschaftlichkeit zu prüfen sind, wobei die mittel- bis langfristigen Folgekosten so<br />
gut und umfassend wie möglich zu berücksichtigen sind.<br />
In diesem Zusammenhang wird empfohlen, auch einen Blick auf die in diesem Leitfaden<br />
diskutierten strategischen Aspekte zu werfen (siehe I.A 1) und die Aspekte der Herstellerabhängigkeit<br />
und der Verwendung von offenen Standards bei der Prüfung dringend zu<br />
berücksichtigen.<br />
2.2.2 Nachfolgender Migrationsbedarf<br />
Nicht selten legt bereits die aktuell durchgeführte Migration einen Grundstein für die<br />
Nachfolgende. Das gilt natürlich besonders für die Migrationspfade, an deren Ziel ein<br />
bestimmtes Produkt eines Herstellers steht.<br />
Da es im Interesse des Herstellers liegt, auch die Folgeversionen seiner Produkte zu<br />
verkaufen, wird zwangsläufig der Support für ein bestimmtes Produkt nach einem gewissen<br />
Zeitraum eingestellt. Dieser grundsätzlich abzusehende Migrationsbedarf wird noch<br />
dadurch zusätzlich ungünstig beeinflusst, dass durch den kommerziellen Charakter der<br />
herstellerspezifischen Produkte auch der zeitliche Abstand zwischen den Migrationen<br />
sowie der Umfang der einzelnen Migrationen fast vollständig außerhalb der eigenen<br />
Kontrolle liegt.<br />
Eine erneute Migration wird also dann notwendig, wenn das gewählte Produkt nicht<br />
mehr weiterentwickelt wird. Diese Situation kann auch bei Open Source Software eintreten,<br />
zum Beispiel durch eine Abnahme des Interesses bei den Entwicklern und der nachfolgenden<br />
Auflösung der entsprechenden OSS-Entwicklergemeinde. Die Erfahrungen<br />
zeigen jedoch, dass erfolgreiche OSS-Projekte langfristig bestehen, auch wenn vielleicht<br />
einzelne Entwickler aus dem Kernteam sich anderen Interessen zuwenden. In den meisten<br />
Fällen findet sich Ersatz.<br />
Darüber hinaus kann man dem entgegen wirken, indem man einen geeigneten und zuverlässigen<br />
Support-Partner verpflichtet und im Vorfeld die Bestandsfähigkeit und Zuverlässigkeit<br />
der Entwicklergemeinde prüft, so wie man dies auch bei der Beschaffung von<br />
proprietärer Software durch Prüfung der Leistungsfähigkeit des Dienstleisters und des<br />
Softwareherstellers tut.<br />
2.2.3 Auswirkungen auf spätere Migrationen<br />
Wird eine Migrationsentscheidung aufgrund der Tatsache getroffen, dass nur ein bestimmtes<br />
proprietäres Produkt die Anforderungen vollumfänglich erfüllt, ist es offensich-<br />
Seite 146
tlich, dass damit die Möglichkeiten für spätere Migrationen eingeschränkt werden. Allerdings<br />
kann eine solche Einschränkung auch auf weniger direkten Wegen entstehen.<br />
Die meisten Migrationsmöglichkeiten sind in einer Umgebung vorhanden, die ausschließlich<br />
auf standardisierte Funktionalität setzt. Viele Produkte weichen jedoch mehr<br />
oder weniger stark von den zugrunde gelegten Standards ab. Insbesondere proprietäre<br />
Produkte setzen zum Teil solche Abweichungen in Form von zusätzlichen Funktionalitäten<br />
als Alleinstellungsmerkmal ein. Gute Beispiele hierfür findet man bei den unterschiedlichen<br />
Datenbankmanagementsystemen.<br />
Wenn diese produktspezifischen Zusatzfunktionen intensiv genutzt werden, dann kann<br />
dies in der Folge zu erhöhten Migrationskosten kommen, wenn man einen ablösenden<br />
Pfad beschreiten möchte. Dies kann im schlimmsten Fall zu einer extremen Produkt-<br />
und Herstellerabhängigkeit führen.<br />
Daher sollte man im Rahmen eines Migrationsvorhabens genau prüfen, welche Standardfunktionalitäten<br />
gebraucht werden und welche darüber hinaus, wie diese von den<br />
verschiedenen Produkten unterstützt werden und welche Abhängigkeiten beziehungsweise<br />
Folgekosten in der Zukunft daraus entstehen können.<br />
2.3 Checkliste der Erfolgsfaktoren<br />
Damit Migrationsprojekte als IT-Projekte im Allgemeinen und als Innovationsprojekte im<br />
Besonderen zu einem erfolgreichen Abschluss geführt werden können, sind die kritischen<br />
Erfolgsfaktoren bereits im Vorfeld zu definieren und zu bewerten. Erfolgreich für<br />
alle Beteiligten ist ein Migrationsprojekt zunächst dann, wenn das gewünschte Ziel beziehungsweise<br />
Ergebnis innerhalb des geplanten beziehungsweise vereinbarten Zeit-<br />
und Budgetrahmens erbracht wird.<br />
Hinzu kommen sogenannte weiche Faktoren, die einen nicht zu unterschätzenden Beitrag<br />
zum Gesamterfolg leisten. Dazu zählen beispielsweise die Mitarbeiterzufriedenheit,<br />
eine reibungsfreie Kommunikation und damit Vermeidung beziehungsweise Reduzierung<br />
von Misserfolg, Frust und Doppelarbeiten sowie die bedarfsgerechte Auswahl und natürlich<br />
Akzeptanz der neuen IT-Landschaft bei den Anwendern.<br />
Nachfolgend werden wichtige zu beachtende Erfolgsfaktoren technischer, wirtschaftlicher<br />
und organisatorischer Art – ergänzt um wesentliche Erfahrungen aus Migrationsprojekten<br />
– aufgeführt.<br />
2.3.1 Technische Erfolgsfaktoren<br />
� Detaillierte Bestandsaufnahme mit Definition der funktionalen Anforderungen:<br />
Je genauer die Aufnahme des Ausgangszustands erfolgt, desto geringer ist die<br />
Wahrscheinlichkeit, dass bei der Definition des Zielzustandes entscheidende Aspekte<br />
übersehen werden.<br />
� Migrationen müssen im Gesamtkontext betrachtet werden:<br />
Nicht nur das migrierte Produkt ist entscheidend, sondern auch der Rest der Systemlandschaft.<br />
� Optimale Produkt- und Dienstleistungsauswahl:<br />
Seite 147
Anhand des definierten Zielzustands lassen sich die Anforderungen an benötigte<br />
Produkte und Dienstleistungen recht gut ermitteln. Ob die von verschiedener<br />
Seite angebotenen Produkte und Dienstleistungen diese Anforderungen tatsächlich<br />
erfüllen, muss sorgfältig geprüft werden.<br />
Außer wenn zwingende technische oder wirtschaftliche Gründe dafür sprechen,<br />
sollten Migrationen auf neueste Produktversionen, mit denen nur wenig oder<br />
kaum Erfahrungen bestehen, vermieden werden.<br />
� Dokumentation:<br />
Im Laufe eines Migrationsprojekts werden zahlreiche Entscheidungen getroffen,<br />
die dokumentieren werden müssen, um spätere Validierungen dieser Entscheidungen<br />
– insbesondere, wenn sich technische oder wirtschaftliche Voraussetzungen<br />
geändert haben – zu ermöglichen.<br />
Auch die Dokumentation des Ausgangs- und des Zielzustands (sowohl geplant<br />
als erreicht) sind sinnvoll.<br />
� Einsatz standardkonformer Technologien:<br />
Darüber hinaus ist es vorteilhaft, standardkonforme Technologien einzusetzen.<br />
� Berücksichtigung verwendeter proprietärer Funktionalität:<br />
Die in der umzustellenden Systemlandschaft verwendete proprietäre Funktionalität<br />
stellt ein Risiko für den Migrationserfolg dar und muss vorher entsprechend<br />
berücksichtigt werden.<br />
2.3.2 Wirtschaftliche Erfolgsfaktoren<br />
� Klarer Nutzen des Projekts:<br />
Ein klarer Nutzen des Migrationsprojekts muss bereits vor seinem Start erkennbar<br />
sein.<br />
� Strukturierte Zeit-, Projekt- und Ressourcenplanung:<br />
Migrationsprojekte können sehr umfangreich werden und sich über einen längeren<br />
Zeitraum erstrecken. Damit die Kosten nicht durch unnötige Verzögerungen<br />
und Reibungsverluste negativ beeinflusst werden, ist eine sorgfältige Planung,<br />
die das Projekt in seinem Verlauf kontrollierbar macht, von Anfang an nötig.<br />
� Etablierung eines effektiven Projekt-Controllings:<br />
Neben der Überwachung des Budgets und der Termineinhaltung ermöglicht ein<br />
effektives Projekt-Controlling auch die frühzeitige Reaktion auf Abweichungen<br />
von den ursprünglichen Planvorgaben.<br />
� Einbindung und Positionierung der Leitungs- und Entscheidungsebene:<br />
Nur die Leitungsebene kann die Verfügbarkeit der erforderlichen Finanzmittel, zu<br />
denen neben den reinen Investitions- und Lizenzkosten auch Kosten für Schulungen,<br />
externe Beratung und Projektunterstützung sowie interne Personalkosten<br />
zählen können, und deren Anpassung an den Projektfortschritt sicherstellen.<br />
Seite 148
2.3.3 Organisatorische Erfolgsfaktoren<br />
� Formulierung eindeutiger Ziele des Migrationsprojektes:<br />
Festzulegen ist, warum die Migration überhaupt durchgeführt werden soll und wie<br />
der angestrebte Zielzustand genau aussehen wird.<br />
Jedes Migrationsprojekt ist anders, daher ist die Übertragbarkeit von Erfahrungen<br />
aus früheren Projekten sehr genau zu prüfen, falls es sich dabei nicht um Projekte<br />
mit den gleichen Produkten in denselben <strong>Version</strong>en handelt.<br />
� Einbindung und Positionierung der Leitungs- und Entscheidungsebene:<br />
Die Entscheiderebene muss von der Notwendigkeit zur Migration und dem gewählten<br />
Weg überzeugt sein.<br />
Weiterhin spielt die jeweilige Leitungs- und Entscheidungsebene eine nicht zu unterschätzende<br />
Rolle in Fragen der Projektorganisation, Kommunikation, Fortschrittskontrolle<br />
und Ergebnisüberprüfung, der Anstoß zur Durchführung des Projekts<br />
muss eigentlich von ihr kommen, das Projekt muss über alle Phasen durch<br />
sie unterstützt werden.<br />
� Bildung eines qualifizierten Projektteams:<br />
Im Idealfall sollten die an der Migrationsdurchführung beteiligten Mitarbeiter für<br />
die Zeit des Migrationsprojekts von ihren sonstigen Aufgaben weitgehend entbunden<br />
werden, um ihre Konzentration auf den Erfolg des Migrationsprojekts zu<br />
ermöglichen, den Koordinationsaufwand gering zu halten und Ressourcenkonflikte<br />
zu vermeiden.<br />
� Festlegung von Zuständigkeiten:<br />
Migrationsprojekte sind deutlich risikoärmer, wenn die Zuständigkeiten in der umzustellenden<br />
Systemlandschaft klar voneinander getrennt sind.<br />
� Frühe Informationen und Einbindung der Zielgruppen/Mitarbeiter:<br />
Nur durch eine frühzeitige Information und echte Einbindung der Betroffenen<br />
lässt sich eine hohe Akzeptanz des Zielzustands erreichen.<br />
Das Vorhandensein des internen Wissens über den des Zielzustands der Migration<br />
muss sichergestellt werden, insbesondere in Fragen des anschließenden Betriebs<br />
und der Administration.<br />
� Zeitnahe und nachhaltige Schulungen:<br />
Schulungen für die neuen Produkte und Technologien sollten weitgehend auf den<br />
individuellen Schulungsbedarf abgestimmt sein, um einen nahtlosen Übergang in<br />
den Zielzustand zu erlauben und Produktivitätsverringerungen in der Anfangszeit<br />
nach der Migration zu vermeiden.<br />
Ohne detaillierte Produktkenntnisse (auch der beteiligten <strong>Version</strong>en) sind Migrationsprojekte<br />
schwer zum Erfolg zu führen.<br />
Seite 149
II. Modul Infrastrukturen<br />
A Thema Datenbank-Systeme<br />
Der Begriff Datenbank bezeichnet an dieser Stelle die strukturierte Sammlung und die<br />
Ablage von Daten in elektronischer Form. Daten können hierbei je nach Ausprägung<br />
einer Datenbank in unterschiedlicher Form oder unterschiedlichem Format vorliegen.<br />
Bei den in den folgenden Kapiteln beschriebenen Produkten handelt es sich um Datenbanksysteme,<br />
in denen Datenbanken von Datenbank-Managementsystemen verwaltet<br />
werden. Letztere ermöglichen zudem die Bearbeitung und Abfrage von Daten in einer<br />
Datenbank.<br />
Da die betrachteten Datenbanken die gespeicherten Daten in Form von zweidimensionalen<br />
Tabellen (Relationen) organisieren, spricht man auch von relationalen Datenbanken<br />
und Datenbank-Managementsystemen. Weitere Ausprägungen von Datenbanken wie<br />
zum Beispiel objektorientierte Datenbanken oder XML-Datenbanken werden aufgrund<br />
ihres aktuell vergleichsweise geringen Verbreitungsgrades im Rahmen dieses Dokuments<br />
nicht betrachtet. Die wesentlichen Funktionen moderner, relationaler Datenbank-<br />
Managementsysteme werden von allen hier betrachteten Produkten angeboten, dazu<br />
gehören insbesondere die Folgenden:<br />
� Views<br />
Views sind virtuelle Tabellen für wiederkehrende Abfragen. Sie können in Abfragen<br />
wie andere Tabellen verwendet werden, ihre Berechnung erfolgt bei jeder<br />
derartigen Verwendung.<br />
� Trigger<br />
Trigger sind Programme, deren Ausführung in Abhängigkeit von bestimmten<br />
Aktionen (Einfügen, Ändern, Löschen) auf bestimmten Daten erfolgt und die so<br />
zum Beispiel zur Konsistenzsicherung eingesetzt werden können.<br />
� User Defined Functions und Stored Procedures<br />
User Defined Functions sind innerhalb der Datenbank ausführbare Programme,<br />
mit denen Funktionen definiert werden können, die in Datenbankabfragen als<br />
auswertbare Ausdrücke verwendet werden können. Stored Procedures sind User<br />
Defined Functions sehr ähnlich, können allerdings nicht in Ausdrücken verwendet<br />
werden, dafür sind sie aber erheblich flexibler bezüglich ihrer Rückgabewerte.<br />
Seite 150
� Transaktionsunterstützung<br />
Mittels Transaktionsunterstützung können Datenbank-Managementsysteme die<br />
atomare 98 , konsistente, isolierte und dauerhafte Durchführung einer logisch zusammenhängenden<br />
Operation auf den Daten, die auch aus mehreren Operationen<br />
zusammengesetzt sein kann, sicherstellen.<br />
� Save Points<br />
Save Points bieten die Möglichkeit, innerhalb von Transaktionen Punkte zu definieren,<br />
zu denen zurückgekehrt werden kann. Alle Veränderungen des Datenbankzustands<br />
durch Aktionen nach dem entsprechenden Save Point werden<br />
dabei wieder rückgängig gemacht.<br />
Abweichungen von dieser Grundfunktionalität sowie spezielle Erweiterungsmöglichkeiten<br />
werden in den nachfolgenden produktspezifischen Abschnitten behandelt.<br />
Eine detaillierte Betrachtung von Sicherheitsaspekten der einzelnen Datenbanksysteme<br />
würde den Rahmen des <strong>Migrationsleitfaden</strong>s sprengen. Grundsätzlich enthalten die hier<br />
vorgestellten Datenbanksysteme Sicherheitsmechanismen, die auf Benutzerebene die<br />
Authentisierung, Autorisierung und Vergabe von bestimmten Rechten zum Datenzugriff<br />
ermöglichen.<br />
Einige Datenbanksysteme bieten darüber hinaus weitere Mechanismen zum Schutz der<br />
gespeicherten Daten an, zum Beispiel durch Verschlüsselung von Daten und der Kommunikation<br />
zwischen Client und Server. Entsprechende Hinweise finden sich in den produktspezifischen<br />
Abschnitten.<br />
Die tatsächlich erreichbare Sicherheit eines Datenbanksystems hängt jedoch zu einem<br />
überwiegenden Teil von der konkreten Einsatzumgebung, der vorgenommenen Konfiguration<br />
und der Art der Nutzung ab. Detaillierte Hinweise und Maßnahmen zu Sicherheitsaspekten<br />
in Datenbanksystemen finden sich in den IT-Grundschutzkatalogen des<br />
Bundesamtes für Sicherheit in der Informationstechnik (BSI) 99 .<br />
1 Produkte / Technologien<br />
1.1 MySQL<br />
MySQL wird von der schwedischen Firma MySQL AB entwickelt und vertrieben beziehungsweise<br />
zur Verfügung gestellt. MySQL war ursprünglich als schneller und flexibler<br />
Ersatz für mSQL, einem Datenbanksystem von Hughes Technologies, gedacht. Die<br />
softwaretechnische Basis stammt aus den frühen 1980er Jahren. Die aktuelle <strong>Version</strong> ist<br />
MySQL 5.1.<br />
98 Eine atomare Operation ist eine Operation, die nicht durch eine andere Operation unterbrochen<br />
werden kann. Eine Transaktion wird entweder vollständig oder gar nicht ausgeführt.<br />
Ein typisches Beispiel in diesem Kontext ist die Durchführung einer Überweisung von einem<br />
auf ein anderes Konto, bei der der Betrag zuerst von einem Konto abgehoben und<br />
dann dem anderen gutgeschrieben wird.<br />
99 http://www.bsi.bund.de/gshb/deutsch/baust/b05007.htm (Baustein Datenbanken) und<br />
http://www.bsi.bund.de/gshb/deutsch/m/m02126.htm (Maßnahmenkatalog Organisation -<br />
Erstellung eines Datenbanksicherheitskonzepts)<br />
Seite 151
Der Hersteller schätzt die Zahl der aktiven MySQL Installationen weltweit auf über 11<br />
Millionen 100 . Die unter der Abkürzung LAMP bekannte Kombination von Linux, Apache,<br />
MySQL und PHP ist seit Beginn der kommerziellen Internetnutzung eine der beliebtesten<br />
Infrastrukturen für Webshops und dynamische Webseiten. MySQL ist auf über 20 Plattformen<br />
einsetzbar, darunter Linux, OS/X, HP-UX, AIX und Windows 101 .<br />
Bei MySQL sind die beiden vorhandenen Lizenzmodelle an entsprechende Editionen<br />
des Datenbanksystems gekoppelt. Der Hersteller spricht dabei von einer dualen Lizenz:<br />
� MySQL Community Edition<br />
Diese Edition wird als Open-Source-Datenbanksystem unter der GNU General<br />
Public License 102 zur Verfügung gestellt.<br />
� MySQL Enterprise<br />
Diese Edition wird unter einer kostenpflichtigen Lizenz 103 vertrieben, die jedoch<br />
neben dem Datenbanksystem selbst auch weitere Dienstleistungen und Support<br />
beinhaltet. Es existieren unterschiedliche Leistungsstufen, die zum Beispiel Support,<br />
Beratungsunterstützung oder Haftungsfreistellung bei der Verletzung von<br />
Rechten geistigen Eigentums umfassen.<br />
Ein wesentliches Architekturmerkmal von MySQL ist die Möglichkeit der Verwendung<br />
unterschiedlicher Speicher-Engines für die Arbeit mit unterschiedlichen Tabellentypen.<br />
Damit lassen sich sowohl transaktionssichere als auch nicht-transaktionssichere Tabellen<br />
realisieren. Letztere sind wesentlich schneller und benötigen weniger Speicherplatz.<br />
Folgende Speicher-Engines stehen zur Verfügung:<br />
� MyISAM zeichnet sich durch einen schnellen Datenabruf und schnelle Datenspeicherung<br />
aus, besitzt eine Volltextsuchfähigkeit, verwaltet jedoch nur nichttransaktionale<br />
Tabellen.<br />
� MEMORY stellt Tabellen im Arbeitsspeicher zur Verfügung.<br />
� InnoDB und BDB stellen transaktionssichere Tabellen zur Verfügung.<br />
� EXAMPLE ist nur für Entwickler gedacht, die Speicher-Engines entwickeln möchten,<br />
und bietet daher nicht die Möglichkeit, Daten zu speichern.<br />
� NDB Cluster wird zur Implementierung von Tabellen genutzt, die über viele Computer<br />
partitioniert sind. Sie steht derzeit nur für Linux, Solaris und Mac OS X zur<br />
Verfügung.<br />
� ARCHIVE bietet die Möglichkeit zur Speicherung großer Datenmengen ohne Indizes<br />
mit einem sehr kleinen Speicherverbrauch.<br />
� BLACKHOLE nimmt zwar Daten entgegen, speichert sie jedoch nicht. Die Engine<br />
kann zum Beispiel für den Test von Abfragen verwendet werden.<br />
� FEDERATED ist für die Speicherung von Daten in einer Remote-Datenbank vorgesehen.<br />
100 http://www.mysql.de/why-mysql/marketshare/<br />
101 http://dev.mysql.com/downloads/mysql/5.0.html#downloads<br />
102 http://www.mysql.com/company/legal/licensing/opensource-license.html<br />
103 http://www.mysql.com/company/legal/licensing/commercial-license.html<br />
Seite 152
Mit MySQL 5.1 wurde eine Architektur eingeführt, die Pluggable Storage Engines erlaubt.<br />
Damit können neue, an den eigenen Bedarf angepasste Speicher-Engines erstellt<br />
und einem laufenden MySQL Server hinzugefügt werden, ohne den Server selbst neu<br />
kompilieren zu müssen. In der Regel sind die verfügbaren Speicher-Engines jedoch ausreichend.<br />
Die Möglichkeit, Speicher-Engines anzupassen, ist daher eher für Firmen<br />
interessant, die sehr spezielle Anforderungen realisieren müssen.<br />
In der aktuellen <strong>Version</strong> bietet MySQL auch Funktionen, die über die grundsätzlichen<br />
Funktionen moderner Datenbanksysteme (siehe Einleitung) hinausgehen, darunter zum<br />
Beispiel:<br />
� Datenbankreplikation<br />
Um die Inhalte einer Datenbank an verschiedenen Orten verfügbar zu machen,<br />
bietet MySQL die Möglichkeit, eine MySQL-Instanz als Master zu deklarieren und<br />
mehrere andere Instanzen (die Slaves) anzuweisen, die Inhalte der Masterdatenbank<br />
zu replizieren. Die Datenbankreplikation kann auch für Live-Backups<br />
verwendet werden, da sich Slave-Datenbanken nach Offline-Phasen problemlos<br />
und automatisiert wieder auf den aktuellen Stand bringen lassen. 104<br />
� MySQL Cluster<br />
Für Linux, MacOS X und Solaris existiert eine spezielle Speicher-Engine, mittels<br />
derer sich Cluster von MySQL-Datenknoten realisieren lassen, die von einem<br />
Management-Knoten verwaltet werden und auf die über spezielle MySQL-Knoten<br />
zugegriffen werden kann 105 .<br />
� Tabellenpartitionierung<br />
In MySQL lassen sich große Tabellen anhand selbst definierter Partitionierungsfunktionen<br />
auf verschiedene Partitionen eines Dateisystems verteilen. In der<br />
aktuellen <strong>Version</strong> von MySQL sind mit den so entstehenden verteilten Tabellen<br />
noch einige funktionale Einschränkungen verbunden 106 .<br />
Stored Procedures stehen unter MySQL derzeit nur mit einem eingeschränkten<br />
Funktionsumfang zur Verfügung, da deren Implementation noch nicht vollständig abgeschlossen<br />
ist 107 .<br />
104 http://www.onlamp.com/pub/a/onlamp/2005/06/16/MySQLian.html<br />
105 http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster.html<br />
106 Nähere Informationen zu den Beschränkungen bei der Tabellenpartitionierung finden sich<br />
unter http://dev.mysql.com/doc/refman/5.1/en/partitioning-limitations.html<br />
107 Nähere Informationen zu den Beschränkungen bei Stored Procedures finden sich unter<br />
http://dev.mysql.com/doc/refman/5.1/en/routine-restrictions.html<br />
Seite 153
Zur Verwaltung eines Datenbanksystems stehen die folgenden grafischen Werkzeuge<br />
bereit:<br />
� MySQL Query Browser<br />
Mit diesem Werkzeug können Datenbankabfragen erstellt, ausgeführt und optimiert<br />
werden.<br />
� MySQL Workbench<br />
Mit MySQL Workbench können Datenbankschemata grafisch erstellt, bearbeitet<br />
und dokumentiert sowie in Form von SQL-Anweisungen exportiert werden.<br />
� MySQL Administrator<br />
Dieses Werkzeug integriert die MySQL-Funktionen zur Datenbankadministration<br />
und -wartung unter einer grafischen Benutzeroberfläche.<br />
MySQL erlaubt die Verschlüsselung einzelner Zeichenketten in der Datenbank über entsprechende<br />
Funktionen. Dadurch ist eine attributweise Verschlüsselung zum Beispiel<br />
von Passwörtern möglich. Darüber hinaus kann MySQL für die Netzwerkverschlüsselung<br />
mittels SSL konfiguriert werden.<br />
MySQL stellt standardbasierte Treiber für JDBC, ODBC und .NET (ADO.NET) und zahlreiche<br />
Schnittstellen zur Verfügung, sodass Entwickler die Programmiersprache ihrer<br />
Datenbankanwendungen für MySQL verhältnismäßig frei wählen können (zum Beispiel<br />
Java, alle .NET-Sprachen, Perl, PHP, Python, Eiffel). Darüber hinaus existiert eine C-<br />
Bibliothek, die eine direkte Einbettung von MySQL in entsprechende Anwendungen erlaubt.<br />
Zusammenfassend bedeutet das: Neben der Plattformunabhängigkeit ist die Anpassbarkeit<br />
an die Einsatzbedürfnisse über austauschbare Speicher-Engines eine der<br />
Stärken von MySQL. Für das typische Einsatzfeld von MySQL, das heißt die dynamischen<br />
Web-Anwendungen, sind insbesondere auch die mit preiswerter PC-Hardware<br />
realisierbaren Cluster interessant.<br />
1.2 PostgreSQL<br />
Die Ursprünge von PostgreSQL liegen in dem 1986 an der Berkeley-Universität in Kalifornien<br />
von Michael Stonebraker entworfenem Postgres-Datenbanksystem. Seit 1996<br />
gibt es die Software unter dem Namen PostgreSQL. PostgreSQL ist ein reines OSS-<br />
Projekt und wird von einer großen internationalen Entwicklergemeinde 108 vorangetrieben.<br />
PostgreSQL verfügt über eine große Community und wird in vielen Linux-Distributionen<br />
standardmäßig ausgeliefert. Daher ist eine Abschätzung der Nutzerzahlen nur schwer<br />
möglich. Die Entwicklergemeinde berichtet auf ihrer Web-Site von einer Million<br />
Downloads der <strong>Version</strong> 8.0 (die aktuelle <strong>Version</strong> ist 8.2) innerhalb von sieben<br />
Monaten. 109<br />
108 http://www.postgresql.org/developer/<br />
109 http://www.postgresql.org/about/press/faq (Frage 5)<br />
Seite 154
PostgreSQL ist für eine Reihe von Betriebssystemen verfügbar, darunter AIX, Linux,<br />
FreeBSD, HP-UX, Mac OS X, NetBSD, OpenBSD, Solaris 110 , Tru64 UNIX und<br />
Windows 111 .<br />
Die Nutzung von PostgreSQL unterliegt der BSD-Lizenz 112 . Aufgrund der großen Community<br />
und des hohen Bekanntheitsgrades wird kostenpflichtiger Support für PostgreSQL<br />
von vielen Firmen angeboten 113 .<br />
PostgreSQL beinhaltet ein objektrelationales Datenbank-Managementsystem, das heißt<br />
es erlaubt ergänzend zu den Möglichkeiten eines relationalen Datenbank-Managementsystems<br />
die Verwendung selbstdefinierter Datentypen, die nicht atomar sein müssen<br />
und auch unter Verwendung objektorientierter Konzepte wie Vererbung gebildet werden<br />
können.<br />
Auch PostgreSQL bietet in der aktuellen <strong>Version</strong> Funktionen, die über die im einleitenden<br />
Abschnitt beschriebenen grundlegenden Funktionen moderner Datenbanksysteme<br />
hinausgehen, darunter beispielsweise:<br />
� Multiversion Concurrency Control<br />
Mit diesem Mechanismus ermöglicht PostgreSQL das unabhängige Lesen und<br />
Schreiben von Daten durch verschiedene Nutzer. Dazu werden bei Lesezugriffen<br />
Snapshots des aktuellen Zustands der angeforderten Daten erstellt und nur diese<br />
zurückgegeben. Schreibzugriffe, die nach dem Beginn eines Lesezugriffs erfolgen,<br />
haben keinen Einfluss auf die gelesenen <strong>Version</strong>en der Daten mehr.<br />
� Write Ahead Log<br />
PostgreSQL verwaltet ein sogenanntes Write Ahead Log, das alle an der Datenbank<br />
vorgenommenen Änderungen protokolliert und so zum Beispiel die Wiederherstellung<br />
des Datenbankzustands zu einem bestimmten Zeitpunkt (Point in time<br />
recovery) erlaubt. Darüber hinaus kann mit diesem Feature auch ein Live-<br />
Backup realisiert werden.<br />
Für PostgreSQL gibt es eine Reihe von Erweiterungen durch unterschiedliche Organisationen<br />
oder Firmen sowohl in Form von Open-Source-Projekten 114 als auch in Form<br />
proprietärer Produkte 115 . Beispielsweise kann PostgreSQL mit der Erweiterung Post-<br />
GIS 116 als Datenbank für Geoinformationssysteme dienen. Projekte wie pgpool 117 und<br />
PGCluster 118 stellen Replikationsfunktionalität für PostgreSQL-Datenbanksysteme zur<br />
Verfügung. Darüber hinaus sind proprietäre Datenbanksysteme verfügbar, die auf PostgreSQL<br />
basieren.<br />
110<br />
Solaris 10 wird standardmäßig mit PostgreSQL ausgeliefert. Siehe auch:<br />
http://www.sun.com/software/products/postgresql/<br />
111<br />
Möglich sind 2000, XP und 2003. Bisher sind nur Tests mit 32-Bit-<strong>Version</strong>en erfolgt. Siehe<br />
auch http://pginstaller.projects.postgresql.org/faq/FAQ_windows.html#1.1<br />
112<br />
http://www.postgresql.org/about/licence<br />
113<br />
http://www.postgresql.org/support/professional_support<br />
114<br />
115<br />
http://www.postgresql.org/download/<br />
http://www.postgresql.org/download/commercial<br />
116<br />
http://postgis.refractions.net/<br />
117<br />
118<br />
http://pgpool.projects.postgresql.org/<br />
http://pgcluster.projects.postgresql.org/index.html<br />
Seite 155
In der aktuellen <strong>Version</strong> von PostgreSQL ist die Größe der Datenbank nur von den<br />
Möglichkeiten der eingesetzten Hardware beschränkt. Eine einzelne Tabelle kann bis zu<br />
32 TB groß sein. Die Anzahl der Datensätze ist dabei unbegrenzt, ihre maximale Größe<br />
liegt bei 1,6 TB. Die Anzahl der Spalten ist je nach verwendeten Datentypen auf 250 bis<br />
1600 begrenzt, pro Feld können bis zu 1 GB gespeichert werden.<br />
Zur Unterstützung bei der Administration und Konfiguration sind verschiedene Werkzeuge<br />
für PostgreSQL verfügbar:<br />
� PGAdmin<br />
PGAdmin stellt ein umfassendes Werkzeug zur Datenbankadministration mit grafischer<br />
Benutzeroberfläche dar. Neben der Verwaltung und Konfiguration von Datenbanken<br />
unterstützt PGAdmin auch die Datenbankentwicklung, beispielsweise<br />
über den integrierten Editor mit SQL-Syntax-Highlighting.<br />
� phpPgAdmin<br />
Dieses Werkzeug ermöglicht die Web-basierte Administration von PostgreSQL-<br />
Datenbanken.<br />
PostgreSQL bietet die Möglichkeit, die Datenkommunikation zwischen Server und Client<br />
mit SSL zu verschlüsseln. Darüber hinaus können einzelne Spalten in Tabellen verschlüsselt<br />
werden. PostgreSQL kann so konfiguriert werden, dass die Client-Authentifizierung<br />
Kerberos-basiert erfolgt 119 .<br />
Für PostgreSQL existiert neben ODBC- und JDBC-Treibern eine große Zahl von<br />
Schnittstellen, die die Anbindung der Datenbank an selbst entwickelte Anwendungen in<br />
zahlreichen Programmiersprachen und -umgebungen ermöglicht. Neben Ada, C/C++,<br />
Java, Perl, Python und PHP ist auch der Einsatz der .NET-Programmiersprachen möglich.<br />
Zusammenfassend ist festzuhalten, dass PostgreSQL unter den Open-Source-Datenbanksystemen<br />
einen sehr guten Ruf hat. Insbesondere der Funktionsumfang sowie die<br />
Standardkonformität und die einfache Erweiterbarkeit der Datenbank werden geschätzt.<br />
Im Laufe seiner langen Entwicklungszeit hat PostgreSQL einen hohen Reifegrad erreicht<br />
und ist damit ein Datenbanksystem, das auch für große Datenbestände und Lösungen<br />
mit hoher Verfügbarkeit eingesetzt werden kann.<br />
1.3 Firebird<br />
Firebird ist Mitte 2000 als eigenständiges Projekt aus dem von Borland in die Open-<br />
Source-Welt entlassenen Datenbanksystem Interbase 6.0 entstanden. Die Weiterentwicklung<br />
des aktuell in der <strong>Version</strong> 2.0.1 vorliegenden Datenbanksystems wird von der<br />
Firebird Foundation vorangetrieben, in der sich ca. 300 Mitglieder (Einzelpersonen und<br />
Firmen) engagieren 120 . Firebird ist sowohl für unterschiedliche 32-Bit-Windowsversionen<br />
als auch für Linux verfügbar 121 .<br />
119 http://www.postgresql.org/docs/8.2/static/auth-methods.html#KERBEROS-AUTH<br />
120 Stand: August 2007<br />
121 http://www.firebirdsql.org/index.php?op=files&id=engine_201<br />
Seite 156
Der Source Code des Interbase-Datenbanksystems, das die Grundlage von Firebird<br />
bildet, wurde als Open Source unter die InterBase Public License 122 gestellt, Weiterentwicklungen<br />
von Firebird stehen unter der Initial Developer‘s Public License 123 .<br />
Die Firebird kann in zwei Architekturvarianten betrieben werden:<br />
� Classic Server und<br />
� Superserver.<br />
Der Classic Server erzeugt für jede Datenbankverbindung mit einem Client einen eigenen<br />
Prozess mit eigenem Cache. Dies hat Auswirkungen auf unterschiedliche Datenbankparameter<br />
wie zum Beispiel die Cachegröße. Laut Herstellerangaben ist der Ressourcenverbrauch<br />
bei einer geringen Anzahl von Verbindungen niedriger als beim Superserver.<br />
Der Superserver verwendet dagegen nur einen einzigen Prozess für alle Verbindungen<br />
und arbeitet die Anfragen im Rahmen von einzelnen Threads ab. Er ist laut Herstellerangaben<br />
effizienter, wenn die Anzahl paralleler Verbindungen steigt.<br />
Allerdings gibt es je nach Rahmenbedingungen weitere Restriktionen zum Beispiel in<br />
Hinblick auf die maximale Anzahl paralleler Verbindungen. Die Entscheidung für den<br />
Classic- oder Superserver kann daher nur aufgrund individueller Projektanforderungen<br />
getroffen werden. Da ein Wechsel zwischen den beiden Architekturen auch zu einem<br />
späteren Zeitpunkt noch möglich ist, kann je nach Anforderungen die geeignetere der<br />
beiden Architekturen gewählt werden.<br />
Auch Firebird bietet alle Funktionen, die in der Einleitung zu diesem Thema beschrieben<br />
wurden. Zusätzlich dazu verfügt Firebird über Mechanismen zur Spiegelung von Daten<br />
über mehrere Speicherorte, das heißt, die Daten einer Datenbankinstanz werden im<br />
laufenden Betrieb in eine oder mehrere andere Datenbankinstanzen übernommen. Eine<br />
synchrone Replikation, das heißt die Sicherstellung, dass eine Änderung von Daten nur<br />
dann erfolgreich abgeschlossen werden kann, wenn sie auch erfolgreich in die Spiegeldatenbanken<br />
repliziert wurde, ist damit nicht möglich. Auch eine Synchronisation in<br />
beide Richtungen ist nicht möglich. Ein Live-Backup der Datenbank ist mit den<br />
mitgelieferten Werkzeugen möglich.<br />
Grafische Administrations- und Konfigurationstools werden für Firebird nur von dritter<br />
Seite angeboten. Dabei profitiert Firebird von der Interbase-Vergangenheit, die nicht<br />
selten die Verfügbarkeit von Management-Werkzeugen sowohl für Interbase als auch für<br />
Firebird zur Folge hat 124 .<br />
Firebird besitzt keine eigenen Mechanismen zur Verschlüsselung von Daten 125 , verfügt<br />
jedoch über verschiedene Schnittstellen. Darunter sind neben Anbindungen für .NET,<br />
122 http://www.firebirdsql.org/index.php?op=doc&id=ipl<br />
123 http://www.firebirdsql.org/index.php?op=doc&id=idpl<br />
124 http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_admin_tools<br />
125 http://www.firebirdsql.org/pdfmanual/Firebird-Security.pdf<br />
Seite 157
Java, C++, Perl, PHP und Python auch mehrere Delphi-Komponenten, was sich aus der<br />
Borland-Interbase-Vergangenheit erklärt 126 , sowie ODBC-, JDBC- und OLE-DB-Treiber.<br />
Zusammenfassend lässt sich festhalten: Als relativ neuer Mitspieler im Bereich der<br />
Open-Source-Datenbanksysteme ist Firebird im Vergleich zu anderen Vertretern wie<br />
MySQL oder PostgreSQL noch nicht so bekannt. Dementsprechend kleiner ist die<br />
Community und auch das Angebot an kostenpflichtigem Support.<br />
Als Datenbanksystem für den professionellen Einsatz kommt Firebird heute nur eingeschränkt<br />
in Frage. Auch wenn Firebird über eine ganze Reihe Funktionen der anderen<br />
hier beschriebenen Produkte verfügt, gibt es auch Einschränkungen, zum Beispiel in<br />
Form fehlender Replikations- beziehungsweise Synchronisationsmechanismen.<br />
1.4 MaxDB<br />
MaxDB ist Ende der 1970er Jahre als universitäres Forschungsprojekt an der<br />
Technischen Universität Berlin gestartet. Das System wurde in den 1980er Jahren von<br />
Nixdorf als DDB/4 weiterentwickelt und vermarktet, kam dann über Siemens/Nixdorf als<br />
AdabasD zur Software AG und wurde 1997 von SAP übernommen.<br />
Das zwischenzeitlich in SAP DB umbenannte Datenbanksystem wurde im Jahr 2000<br />
unter der GNU Public License (GPL) der Öffentlichkeit zur Verfügung gestellt. SAP führte<br />
jedoch auch danach die Weiterentwicklung kontinuierlich fort.<br />
2004 wurde die SAP DB von MySQL AB erworben und mit der Bezeichnung MaxDB<br />
versehen. MaxDB wurde nach wie vor von SAP als zertifizierte Plattform für das<br />
R/3-System und dessen Nachfolger angeboten und als Kerntechnologie in eigenen<br />
Produkten eingesetzt. Seit Oktober 2007 wird sowohl der Vertrieb als auch der Support<br />
der MaxDB wieder komplett von SAP übernommen.<br />
MaxDB ist für HP-UX, IBM AIX, Linux, Solaris und Windows 2000, XP sowie 2003<br />
Server verfügbar. Laut Herstellerangaben setzen über 6.000 Kunden 127 MaxDB als<br />
Datenbanksystem ein.<br />
MaxDB wird heute von SAP mit einem dualen Lizenzmodell vermarktet. Es ist sowohl<br />
unter der MaxDB Community License 128 als auch unter einer kostenpflichtigen Lizenz 129<br />
verfügbar. Im Rahmen der kostenpflichtigen Lizenz bietet SAP auch Support für MaxDB<br />
an.<br />
Laut Herstellerangaben verfügt das MaxDB-Datenbank-Managementsystem über ausgereifte<br />
Backup- und Restoremechanismen und ist für große Nutzerzahlen und hohe Last<br />
ausgelegt. MaxDB erweitert die grundlegende Funktionalität eines Datenbanksystems<br />
unter anderem um folgende Funktionen:<br />
126 Delphi ist eine von Borland aus Object Pascal entwickelte Programmiersprache, die im<br />
Windows-Umfeld unter anderem aufgrund ihrer nahtlosen COM-Integration und guter GUI-<br />
Entwicklungsmöglichkeiten eine recht große Verbreitung hat.<br />
127 Darunter finden sich allerdings auch Großkunden wie Toyota, Intel, DaimlerChrysler,<br />
Braun-Gillette, Bayer, Colgate, Yamaha und die Deutsche Post.<br />
128 http://maxdb.sap.com/license/MaxDB_Community_License_2007.pdf<br />
129 http://maxdb.sap.com/license/<br />
Seite 158
� Hot-Standby<br />
MaxDB erlaubt die Konfiguration einer Master- und mehrerer Standby-Instanzen<br />
einer Datenbank. Letztere reproduzieren in regelmäßigen Abständen die Änderungen<br />
auf der Master-Instanz. Bei einem Ausfall der Master-Instanz übernimmt<br />
eine der Standby-Instanzen des so gebildeten Clusters automatisch die Rolle des<br />
Masters.<br />
� Sicherung im laufenden Betrieb<br />
Die Daten in der Datenbank können gesichert werden, ohne dass dadurch die<br />
Benutzung der Datenbank eingeschränkt wird.<br />
� Snapshot-Funktionalität<br />
Ein bestimmter Zustand der Datenbank kann mittels Snapshot eingefroren<br />
werden. Änderungen nach diesem Zeitpunkt erfolgen unter Vorbehalt und können<br />
entweder vollständig verworfen werden oder durch Löschung des vorhandenen<br />
beziehungsweise Erstellung eines neuen Snapshots übernommen<br />
werden.<br />
Bei einer Page Size von 8 KB ist eine maximale Datenbankgröße von 32 TB möglich.<br />
MaxDB bietet verschiedene Werkzeuge für Administration und Einsatz, so zum Beispiel:<br />
� Installation Manager<br />
Der Installation Manager bietet eine einheitliche grafische Schnittstelle zur Installation<br />
von MaxDB auf den unterstützten Betriebssystemen.<br />
� Database Manager<br />
Mit dem Database Manager lassen sich Datenbanken erzeugen, überprüfen,<br />
überwachen, archivieren und wiederherstellen. Für dieses Werkzeug existieren<br />
drei verschiedene Benutzerschnittstellen: eine Kommandozeilenschnittstelle, eine<br />
grafische Benutzeroberfläche (nur unter Windows) und eine Web-basierte<br />
Schnittstelle für den entfernten Zugriff.<br />
� SQL Studio<br />
Das SQL Studio erlaubt die Interaktion mit einer Datenbank über SQL-<br />
Anweisungen. Es ist nur für Windows erhältlich, kann aber auf entfernte Datenbanken<br />
auf anderen Rechnern zugreifen.<br />
� Database Analyzer<br />
Der Database Analyzer ist ein Werkzeug zur Analyse der Datenbank-<br />
Performance. Er dient der Identifikation von Konfigurations- und Synchronisationsproblemen<br />
sowie von Problemen bei der Verarbeitung von Datenbankabfragen.<br />
� Synchronization Manager<br />
Mit dem Synchronization Manager können die Daten zwischen einer Master-<br />
Datenbank-Instanz und mehreren Slave-Datenbank-Instanzen synchronisiert<br />
werden. Damit kann der Synchronization Manager auch zur Replikation von<br />
Datenbanken eingesetzt werden.<br />
Seite 159
MaxDB bietet bei der Verwendung in einem SAP-System die Möglichkeit, auch die<br />
Kommunikation mit der Datenbank mittels SSL zu verschlüsseln.<br />
Neben Schnittstellen zur Anwendungsprogrammierung mit Java, Perl, PHP und Python<br />
sowie ODBC- und JDBC-Treibern existiert für MaxDB auch eine integrierte WebDAV-<br />
Schnittstelle 130 , über die Anwender mit Web-Browsern auf die Datenbankinhalte zugreifen<br />
können.<br />
Zusammenfassend ist festzuhalten: Die zukünftige Weiterentwicklung der MaxDB wird<br />
durch die Unterstützung von SAP gesichert. Schon das Einsatzszenario als zertifiziertes<br />
Datenbanksystem für SAP/R3 macht deutlich, dass es sich um ein System handelt, das<br />
für den Einsatz in großen SAP-Umgebungen konzipiert ist. MaxDB wird in der allgemeinen<br />
Wahrnehmung als Nischenprodukt unterschätzt. Seine Leistungsfähigkeit qualifiziert<br />
das MaxDB-Datenbanksystem jedoch durchaus auch für den Einsatz in anderen anspruchsvollen<br />
Bereichen.<br />
1.5 Microsoft SQL Server 7.0/2000/2005<br />
Bei Microsoft SQL Server handelt es sich um ein proprietäres relationales<br />
Datenbanksystem, das aktuell in der <strong>Version</strong> 2005 vertrieben wird und je nach Edition für<br />
unterschiedliche Windows-Betriebsystem-<strong>Version</strong>en verfügbar 131 ist. Die Entwicklung<br />
des Microsoft SQL Servers geht auf eine Kooperation zwischen Microsoft und Sybase 132<br />
Ende der 80er Jahre zurück. Microsoft SQL Server ist bezüglich seines Marktanteils auf<br />
Platz drei hinter Oracle und IBM, hatte jedoch 2006 eine höhere Wachstumsrate als<br />
seine Wettbewerber 133 .<br />
Für den Einsatz von Microsoft SQL Server 2005 existieren drei Lizenzmodelle 134 :<br />
� Server plus gerätebasierte Client-Zugriffslizenz (CAL)<br />
In diesem Modell muss neben einer Lizenz für jeden Server, auf dem Microsoft<br />
SQL Server läuft, für jedes darauf zugreifende Gerät (PC, Arbeitsplatz, Terminal,<br />
PDA, Mobiltelefon usw.) eine entsprechende Zugriffslizenz erworben werden.<br />
� Server plus nutzerbasierte Client-Zugriffslizenz (CAL)<br />
In diesem Modell muss neben einer Lizenz für jeden Server, auf dem Microsoft<br />
SQL Server läuft, für jeden darauf zugreifenden Nutzer eine entsprechende Zugriffslizenz<br />
erworben werden.<br />
� Prozessor-Lizenz<br />
Erfordert eine Einzellizenz für jede CPU in der Betriebssystemumgebung, in der<br />
der SQL Server ausgeführt wird. Diese Lizenz beinhaltet uneingeschränkten Zugriff<br />
für Client-Geräte.<br />
130 http://de.wikipedia.org/wiki/WebDAV<br />
131 http://www.microsoft.com/germany/sql/uebersicht/systemanforderungen.mspx<br />
132 Inzwischen (seit der <strong>Version</strong> 7) wurden die letzten Sybase-Relikte entfernt.<br />
133 http://www.gartner.com/it/page.jsp?id=507466<br />
134 Weitere Informationen zu den einzelnen Lizenzmodellen finden sich unter<br />
http://download.microsoft.com/download/c/7/2/c727d265-188c-45ae-9ca0ff5fd19089e8/wp_sql_2005_lizenzierung_de.pdf<br />
Seite 160
Microsoft bietet vier Editionen des SQL Server 2005 mit unterschiedlichem Leistungsumfang<br />
an:<br />
� Express<br />
Diese kostenlose Edition ist auf einen Prozessor und maximal 1 GB Hauptspeicher<br />
beschränkt. Darüber hinaus ist auch die Größe der verwalteten Datenbank<br />
auf maximal 4 GB begrenzt.<br />
� Workgroup<br />
Diese Edition ist auf zwei Prozessoren und maximal 3 GB Hauptspeicher<br />
beschränkt. Bei dieser und den folgenden Editionen ist die Datenbankgröße<br />
prinzipiell unbegrenzt.<br />
� Standard<br />
Diese Edition ist auf vier Prozessoren beschränkt. Der verwendbare Hauptspeicher<br />
ist nur von den Möglichkeiten des eingesetzten Betriebssystems abhängig.<br />
� Enterprise<br />
Diese Edition ist hinsichtlich der Prozessorzahl unbeschränkt. Der verwendbare<br />
Hauptspeicher ist nur von den Möglichkeiten des eingesetzten Betriebssystems<br />
abhängig.<br />
Der Microsoft SQL Server 2005 setzt sich aus mehreren funktionalen Bestandteilen<br />
zusammen:<br />
� Datenbankmodul<br />
Das Datenbankmodul beinhaltet die eigentliche Datenbank-Engine zum Speichern,<br />
Verarbeiten und Sichern von Daten.<br />
� Integration Services<br />
Die SQL Server 2005 Integration Services (SSIS) dienen der Datenintegration<br />
und -Transformation. Es können Daten aus unterschiedlichen Quellen, zum Beispiel<br />
aus XML-Datendateien, Flatfiles oder relationalen Datenquellen extrahiert<br />
und transformiert werden.<br />
� Reporting Services<br />
SQL Server 2005 Reporting Services (SSRS) bietet die Möglichkeit zur Erstellung<br />
von Datenberichten. Es stehen Tools zur Verfügung, die die Erstellung und<br />
Verwaltung von Berichten erlauben.<br />
� Analysis Services<br />
Die Analysis Services umfassen zentrale Dienste zur Analyse von Geschäftsdaten<br />
und Data-Mining-Funktionalitäten.<br />
� Service Broker<br />
Der Service Broker des SQL Server 2005 bietet Unterstützung im Bereich Messaging-<br />
und Warteschlangenanwendungen, indem er eine nachrichtenbasierte,<br />
bei Bedarf auch asynchrone Kommunikation zwischen Anwendungen erlaubt, die<br />
einen gemeinsamen oder mehrere verteilte Microsoft SQL Server verwenden.<br />
Seite 161
Microsoft SQL Server 2005 bietet neben den in der Einleitung erwähnten Funktionen<br />
beispielsweise auch die folgenden Funktionen:<br />
� Benutzerdefinierte Datentypen<br />
Microsoft SQL Server erlaubt die Einbindung eigener, auch komplexer Datentypen<br />
in die Typstruktur des Datenbank-Managementsystems. Diese können dann<br />
wie die eingebauten Datentypen in Datenbanken verwendet werden.<br />
� Ausfallsicherheit durch Clusterbildung<br />
Microsoft SQL Server lässt sich in Windows-Clustern 135 , die einen gemeinsamen<br />
Speicherbereich verwalten, so konfigurieren, dass der Ausfall eines Prozessors<br />
oder anderer nicht speicherrelevanter Hardware kompensiert werden kann.<br />
� Replikation<br />
Hierbei handelt es sich um Technologien, die sowohl die Duplikation von Daten in<br />
mehreren Datenbanken als auch eine Synchronisation zwischen den einzelnen<br />
Datenbanken, also die Sicherstellung gleicher Inhalte in den einzelnen Kopien,<br />
ermöglichen.<br />
� Volltextsuche<br />
Die Volltextsuche ermöglicht Volltextabfragen in rein zeichenbasierten Daten<br />
innerhalb von SQL-Server-Tabellen.<br />
Für die Administration des Microsoft SQL Servers 2005 steht das SQL Server Management<br />
Studio zur Verfügung, das beispielsweise die folgenden Tools und Dienstprogramme<br />
enthält:<br />
� Business Intelligence Development Studio<br />
Hierbei handelt es sich um eine Entwicklungsumgebung, die die Erstellung und<br />
das Debuggen von Datenintegrations,- Data Mining- und Berichterstellungslösungen<br />
ermöglicht.<br />
� SQL Server Konfigurationsmanager<br />
Der Konfigurationsmanager bietet die Möglichkeit zur Konfiguration von Autostartoptionen<br />
und erweiterten Optionen.<br />
� Microsoft SQL Server Agent<br />
Der SQL Server Agent ermöglicht das Erstellen und Planen von Aufgaben, die<br />
einmalig oder periodisch automatisiert ausgeführt werden sollen. Es können<br />
Warnungen für den Administrator ausgegeben werden, wenn bestimmte Systemzustände<br />
eintreten.<br />
� Microsoft SQL Server Profiler<br />
Dieser erlaubt die Überwachung und Analyse von Server-Ereignissen.<br />
� Datenbankmodul-Optimierungsratgeber<br />
Hierbei handelt es sich um ein Tool zur Optimierung der Datenbankleistung.<br />
135 http://msdn2.microsoft.com/en-us/library/ms952401.aspx<br />
Seite 162
Als Besonderheit bietet der Microsoft SQL Server ähnlich wie die DB2 von IBM die<br />
Möglichkeit, eine „shared-nothing― Architektur zu realisieren. Dabei werden die Daten auf<br />
unterschiedliche Datenbankknoten mit Datentöpfen verteilt. Jeder Datentopf verfügt<br />
dabei über eigene Ressourcen wie Prozessor, Festplatten und Hauptspeicher. Zudem<br />
enthält jeder Datentopf eigene Daten, das heißt in jedem Datentopf ist nur ein Teil der<br />
Gesamtmenge an Daten vorhanden. Wird eine Anfrage an einen beliebigen<br />
Datenbankknoten gestellt, so fragt dieser die jeweils benötigten Daten aus den einzelnen<br />
Daten-töpfen ab und führt sie zusammen. Eine Anfrage kann daher an jeden beliebigen<br />
Knoten gestellt werden.<br />
Der Microsoft SQL Server 2005 verfügt über eine integrierte Infrastruktur für die<br />
Schlüsselverwaltung. Diese definiert eine Schlüsselhierarchie, in der die Schlüssel einer<br />
Hierarchiestufe jeweils zur Verschlüsselung der darunter liegenden Ebene verwendet<br />
werden. Die oberste Hierarchieebene bildet dabei ein kennwortbasierter Windows-<br />
Betriebssystemdienst 136 . Weitere Ebenen stellen die jeweilige SQL-Server-Instanz, die<br />
zu verschlüsselnde Datenbank und die in ihr enthaltenen Daten dar 137 .<br />
Die bei der Nutzung der Analysis Services auftretende Kommunikation zwischen Client<br />
und Server ist in der Standardeinstellung verschlüsselt. Client-Abfragen, die unverschlüsselt<br />
erfolgen oder unverschlüsselte Antworten erwarten, können von einem entsprechend<br />
konfigurierten Server explizit abgelehnt werden.<br />
Darüber hinaus wird bei Vorhandensein eines Active Directory indirekt über das<br />
Windows-interne Security Service Provider Interface auch eine Kerberos-basierte<br />
Authentifizierung unterstützt 138 .<br />
Zur Einbindung des Microsoft SQL Servers 2005 in eigene Anwendungen existieren<br />
neben ODBC- und OLE-DB-Treibern auch Anbindungen an das .NET-Framework. Seit<br />
kurzem steht darüber hinaus auch ein JDBC-Treiber zur Benutzung des Microsoft SQL<br />
Servers aus Java-Anwendungen heraus zur Verfügung.<br />
Microsoft SQL Server ist sehr eng mit anderen Microsoft-Produkten verbunden. So ist er<br />
für einige Produkte (zum Beispiel Windows SharePoint Services in größeren Installationen)<br />
eine Voraussetzung. Andererseits setzen einige seiner Funktionen (zum Beispiel<br />
die Datenverschlüsselung) direkt auf Funktionen des Microsoft-Windows-Betriebssystems<br />
auf. Diese hohe Integration erlaubt zwar eine nahtlose Einbindung des<br />
Microsoft SQL Server in eine Windows-basierte Anwendungslandschaft, impliziert jedoch<br />
auch die Entscheidung für weitere Microsoft-Produkte und kann eine eventuell gewünschte<br />
spätere Ablösung erschweren.<br />
Somit lässt sich feststellen: Microsoft SQL Server ist ein leistungsfähiges Datenbanksystem<br />
mit umfangreicher Funktionalität. Sein Einsatzbereich ist jedoch, anders als bei<br />
136 Dieser Dienst implementiert die Data Protection API (DPAPI). Siehe auch:<br />
http://msdn2.microsoft.com/en-us/library/ms995355.aspx<br />
137 Eine ausführlichere Beschreibung findet sich in dieser Präsentation:<br />
http://download.microsoft.com/download/4/1/6/416bdb4a-67e9-4269-bcdc-<br />
33dedb7f64fe/encryptionatmstwpppt.ppt.<br />
weitere Informationen unter: http://msdn2.microsoft.com/en-us/library/ms189586.aspx<br />
138 Hierbei ist zu beachten, dass das SSPI auf die schwächere NTLM-Authentifizierung zurückgreift,<br />
wenn keine Kerberos-Authentifizierung möglich ist. siehe dazu:<br />
http://blogs.msdn.com/sql_protocols/archive/2005/10/12/479871.aspx<br />
Seite 163
den anderen hier betrachteten Produkten, auf das Windows-Betriebssystem beschränkt.<br />
In der einsetzenden Organisation wird also entsprechendes Wissen zur Administration<br />
von Windows-Betriebssystemumgebungen und -Netzwerken benötigt.<br />
1.6 Oracle<br />
Die Entwicklung des Oracle Datenbanksystems beginnt mit der Gründung der Firma<br />
Software Development Laboratories (SDL) im Jahr 1977. Ziel war die Entwicklung einer<br />
Datenbank, die zu IBMs System R Datenbank kompatibel ist. 1983 wurde neben dem<br />
Datenbanksystem auch das Unternehmen in Oracle umbenannt.<br />
Heute zählt Oracle zu den führenden Datenbanksystemen. Laut Gartner erreicht Oracle<br />
einen Marktanteil von rund 47% im Jahre 2006. 139 Oracle wird aktuell in der <strong>Version</strong> 11g<br />
vertrieben und steht in folgenden Editionen für Linux, UNIX und Windows zur Verfügung:<br />
� Express 10g<br />
Diese kostenlose Edition ist auf eine CPU und maximal 1 GB Hauptspeicher<br />
beschränkt. Darüber hinaus ist auch die maximale Datenbankgröße auf 4 GB<br />
begrenzt.<br />
� Standard Edition One<br />
Diese Edition ist auf Servern mit maximal zwei Prozessoren einsetzbar. Der<br />
verwendbare Hauptspeicher wird nur von den Möglichkeiten des eingesetzten<br />
Betriebssystems begrenzt. Die Datenbankgröße ist bei dieser und den folgenden<br />
Editionen prinzipiell unbegrenzt.<br />
� Standard<br />
Diese Edition ist auf Servern mit maximal vier Prozessoren einsetzbar. Der<br />
verwendbare Hauptspeicher wird nur von den Möglichkeiten des eingesetzten<br />
Betriebssystems begrenzt.<br />
� Enterprise Edition<br />
Diese Edition ist hinsichtlich der Prozessorzahl unbeschränkt. Der verwendbare<br />
Hauptspeicher ist nur von den Möglichkeiten des eingesetzten Betriebssystems<br />
abhängig.<br />
Für die kostenpflichtigen Editionen stehen folgende Lizenzmodelle zur Verfügung:<br />
� Named User Plus<br />
Hierbei ist für jeden Nutzer, der auf die Datenbank zugreift, eine Lizenz zu<br />
erwerben. Zu beachten ist, dass auch „non-human operated devices―, also<br />
beispielsweise Temperatursensoren, die eine Datenbank mit aktuellen Werten<br />
versorgen, als Nutzer zählen.<br />
� Prozessor<br />
Hierbei ist für jeden Prozessor, auf dem die Oracle-Software läuft, eine Lizenz zu<br />
erwerben. Bei Mehrkernprozessoren zählt prinzipiell die Zahl der Prozessor-<br />
139 http://www.gartner.com/it/page.jsp?id=507466<br />
Seite 164
kerne, allerdings gibt es für die einzelnen Prozessortypen unterschiedliche<br />
Faktoren, mit denen die Zahl der Prozessorkerne gewichtet wird. 140<br />
Oracle ist in der <strong>Version</strong> 11g als Grid-Datenbank konzipiert. Dabei erfolgt eine Trennung<br />
der physikalischen und der logischen Struktur der Datenbank. Die physikalische<br />
Speicherung der Daten wird unabhängig vom Zugriff auf die logische Struktur verwaltet.<br />
Eine große Anzahl von Servern und Speichergeräten agiert dabei als ein sich selbst<br />
verwaltendes Grid.<br />
Oracle verfügt im Vergleich zu anderen Datenbank-Managementsystemen über einen<br />
sehr großen Funktionsumfang. An dieser Stelle werden beispielhaft einige Erweiterungsmöglichkeiten<br />
für Oracles Datenbanksystem dargestellt:<br />
� Real Application Testing<br />
Diese Erweiterung ermöglicht die Übernahme und Wiederholung der aktuellen<br />
Last eines Produktivsystems in einer Testumgebung, um Auswirkungen von<br />
Systemänderungen unter realistischen Bedingungen prüfen zu können.<br />
� Real Application Clusters (RAC)<br />
Durch die Verteilung einer Datenbank über mehrere Server ergibt sich die Möglichkeit,<br />
große Systeme aufzubauen. Dabei können zur Erweiterung der Datenbank<br />
weitere Server im laufenden Betrieb hinzugefügt werden.<br />
� Oracle Data Mining (ODM)<br />
Ermöglicht den Aufbau integrierter Business Intelligence Anwendungen auf Basis<br />
von Data-Mining-Funktionalitäten.<br />
� Oracle Active Data Guard<br />
Ermöglicht die Auslagerung rechenintensiver Aufgaben wie komplexe Abfragen<br />
oder Backups an Standby-Datenbanken.<br />
� Automatic Storage Management<br />
Ermöglicht die automatische Spiegelung und das Balancing von Daten über die<br />
verfügbaren Speichergeräte sowohl zum Schutz der Daten als auch zur Optimierung<br />
der Performance. Dabei ist auch das Hinzufügen oder Entfernen von Datenspeichern<br />
möglich.<br />
� Oracle XML DB 141<br />
Mit dieser Erweiterung steht eine Möglichkeit zur Verfügung, XML-Daten strukturiert<br />
zu speichern, sodass sie effizienter abgefragt werden können.<br />
Zur Konfiguration und Administration von Oracle-Datenbanken existiert eine Reihe von<br />
Werkzeugen, darunter zum Beispiel:<br />
� Oracle Enterprise Manager<br />
Dieses Werkzeug dient der allgemeinen Verwaltung und Administration von<br />
Datenbanken. Einzelne sogenannte Management Packs decken dabei unterschiedliche<br />
Aspekte ab.<br />
140 Nähere Informationen zum insgesamt recht komplexen Lizenzmodell von Oracle finden sich<br />
hier: http://www.oracle.com/corporate/pricing/sig.pdf<br />
141 http://www.oracle.com/technology/tech/xml/xmldb/index.html<br />
Seite 165
� SQL Performance Analyzer<br />
Dieses Werkzeug kann zur Analyse von Performance-Problemen in Datenbanken<br />
eingesetzt werden.<br />
� SQL Tuning Advisor<br />
Der SQL Tuning Advisor kann bei der Lösung von Performance-Problemen in<br />
Datenbanken verwendet werden.<br />
Oracle 11g bietet für die Enterprise Edition optional die flexible Vergabe von Zugriffsrechten<br />
über sogenannte Labels auf Spalten- und Zeilenebene an. Damit kann sehr<br />
detailliert gesteuert werden, auf welche Teile einer Tabelle welcher Nutzer in welchem<br />
Umfang zugreifen darf 142 . Für die Enterprise Edition stehen darüber hinaus auch<br />
Optionen zur Erhöhung der Datensicherheit über Verschlüsselung des Netzwerks,<br />
einzelner Daten, von Datentypen oder kompletten Tabellenbereichen zur Verfügung 143 .<br />
Oracle lässt sich wie andere Datenbanksysteme auch aus selbst entwickelten Anwendungen<br />
über entsprechende Schnittstellen ansprechen. Es existieren neben ODBC-,<br />
OLE-DB- und JDBC-Treibern diverse APIs, sodass Datenbankanwendungen unter Verwendung<br />
von beispielsweise C, C++, Java, Perl, PHP und allen .NET-Programmiersprachen<br />
entwickelt werden können. Darüber hinaus existiert die Entwicklungsumgebung<br />
144 „Oracle-Application-Express― zur Entwicklung von webbasierten Anwendungen<br />
mit direktem Datenbankzugriff.<br />
Zusammenfassend kann festgehalten werden, dass Oracle häufig für große Datenbestände<br />
mit hohen Lastanforderungen eingesetzt wird. Allerdings geht mit der Vielzahl<br />
der gebotenen Funktionalitäten auch eine hohe Komplexität einher. Sollen die Möglichkeiten<br />
eines Oracle-Datenbanksystems voll genutzt werden, so sind die Konzeption und<br />
der Betrieb auch entsprechend aufwändig<br />
1.7 IBM DB2<br />
DB2 wurde von IBM erstmals im Jahre 1983 vorgestellt und basiert auf den Arbeiten in<br />
IBMs System-R-Projekt, welches die erste Umsetzung der 1970 vorgestellten Konzepte<br />
relationaler Datenbanken darstellte 145 .<br />
IBM DB2 ist für zahlreiche Betriebssysteme verfügbar, darunter Linux, UNIX und Windows<br />
146 . In Großrechnerumgebungen ist IBM DB2 traditionell marktführend, hat aber<br />
auch in den anderen Bereichen signifikante Marktanteile 147 .<br />
142 http://www.oracle.com/database/label-security.html<br />
143 http://www.oracle.com/database/advanced-security.html<br />
144 http://download.oracle.com/docs/cd/B28359_01/appdev.111/b32258/toc.htm<br />
145 http://www-128.ibm.com/developerworks/db2/library/techarticle/0301jones/0301jones.html<br />
146 http://www-306.ibm.com/software/data/db2/9/sysreqs.html<br />
147 http://www.gartner.com/it/page.jsp?id=507466<br />
Seite 166
Die Lizenzmodelle orientieren sich an der Anzahl zugelassener Nutzer pro Server beziehungsweise<br />
pro Prozessor. IBM DB2 wird zudem in unterschiedlichen Editionen angeboten:<br />
� DB2 Express-C<br />
Diese kostenlose Edition ist auf 2 CPUs und 4 GB Hauptspeicher beschränkt. Sie<br />
enthält anders als die anderen Editionen bereits pureXML (s.u.), besitzt jedoch<br />
einen etwas reduzierten Funktionsumfang. 148<br />
� DB2 Express<br />
Diese Edition ist auf 2 CPUs und 4 GB Hauptspeicher beschränkt, bei nutzerbasierten<br />
Lizenzen müssen mindestens 5 je Server erworben werden.<br />
� DB2 Workgroup<br />
Diese Edition ist auf 4 CPUs und 16 GB Hauptspeicher beschränkt, bei nutzerbasierten<br />
Lizenzen müssen mindestens 5 je Server erworben werden.<br />
� DB2 Enterprise<br />
Diese Edition ist hinsichtlich CPUs und Hauptspeicher unbeschränkt, bei nutzerbasierten<br />
Lizenzen müssen mindestens 25 je Prozessor erworben werden.<br />
Auch IBM DB2 verfügt über einen großen Funktionsumfang. Mit Ausnahme der Express-<br />
C-Edition bieten alle Editionen neben der in der Einleitung dieses Themas erwähnten<br />
üblichen Funktionalität aktueller Datenbank-Managementsysteme auch eine Möglichkeit<br />
zur Datenbankreplikation.<br />
Wie bei Oracle kann der Funktionsumfang von DB2 optional erweitert werden. An dieser<br />
Stelle werden beispielhaft einige dieser Optionen dargestellt:<br />
� Speicherplatzoptimierung<br />
Mittels Datenkompression wird der für Tabellen benötigte Speicherplatz reduziert.<br />
� Tabellenpartitionierung<br />
Große Tabellen können anhand der Werte in einer oder mehreren Spalten auf<br />
mehrere Speicherobjekte verteilt werden. Die Tabellengröße wird somit nicht<br />
mehr vom Datenbank-Managementsystem begrenzt, sondern nur noch vom vorhandenen<br />
Speicherplatz.<br />
� Datenbankpartitionierung<br />
Große Datenbanken können über mehrere Server verteilt werden, ohne dass auf<br />
Nutzer- und Anwendungsebene Anpassungen notwendig werden.<br />
� Verwaltung geodätischer Daten<br />
IBM DB2 kann um Funktionen zur Verarbeitung geografischer Informationen<br />
erweitert werden.<br />
� pureXML<br />
Diese bei Express-C standardmäßig vorhandene und für die anderen Editionen<br />
optional verfügbare Erweiterung speichert XML-Daten in einer speziellen hierarchischen<br />
Struktur, die deren effizientere Verarbeitung ermöglicht.<br />
148 http://www-306.ibm.com/software/data/db2/express/getstarted.html<br />
Seite 167
Zur Administration und Konfiguration von DB2-Datenbanken existieren verschiedene<br />
Werkzeuge, darunter zum Beispiel:<br />
� DB2 Performance Expert<br />
Die Performance von Datenbanken kann mit diesem Werkzeug analysiert werden.<br />
Zudem können Performance-Probleme identifiziert und behoben werden.<br />
� DB2 Query Patroller<br />
Dieses Werkzeug dient der Überprüfung und Ausführungssteuerung für Abfragen.<br />
Abfragen können anhand verschiedener Parameter für eine sofortige oder<br />
verzögerte Ausführung vorgesehen oder auch abgewiesen werden.<br />
Als Besonderheit bezeichnet IBM die Möglichkeit eine „shared-nothing― Architektur mit<br />
DB2 zu realisieren. Dabei werden die Daten auf unterschiedliche Datenbankknoten mit<br />
Datentöpfen verteilt. Jeder Datentopf verfügt dabei über eigene Ressourcen wie Prozessor,<br />
Festplatten und Hauptspeicher. Zudem enthält jeder Datentopf eigene Daten,<br />
das heißt in jedem Datentopf ist nur ein Teil der Gesamtmenge an Daten vorhanden.<br />
Wird eine Anfrage an einen beliebigen Datenbankknoten gestellt, so fragt dieser die<br />
jeweils benötigten Daten aus den einzelnen Datentöpfen ab und führt sie zusammen.<br />
Eine Anfrage kann daher an jeden beliebigen Knoten gestellt werden. Laut Herstellerangaben<br />
hat diese Architektur Vorteile bei hochperformanten, parallelisierten Datenbanklösungen.<br />
Für die Enterprise Edition existiert optional die flexible Vergabe von Zugriffsrechten auf<br />
Spalten- und Zeilenebene über so genannte Labels. So kann sehr detailliert gesteuert<br />
werden, auf welche Teile einer Tabelle welcher Nutzer in welchem Umfang zugreifen<br />
darf 149 .<br />
IBM DB2 lässt sich wie andere Datenbanksysteme auch aus selbst entwickelten<br />
Anwendungen über entsprechende Schnittstellen ansprechen. Es existieren diverse<br />
APIs 150 , sodass Datenbankanwendungen unter Verwendung von beispielsweise<br />
Microsoft Visual Studio .NET, IBM WebSphere Studio Application Developer, aber auch<br />
Eclipse entwickelt werden können. Als Programmiersprachen kommen dabei C, C++,<br />
COBOL, Fortran, Java, Perl, PHP, REXX und alle .NET-Programmiersprachen in Frage.<br />
Ergänzend existieren ODBC-, JDBC- und OLE-DB-Treiber.<br />
Damit ist IBM DB2 ein leistungsfähiges Datenbanksystem mit umfangreicher Funktionalität,<br />
das in seinen unterschiedlichen Editionen verschiedenen Anforderungen gerecht<br />
wird. Die IBM DB2 ist für eine große Zahl von Plattformen verfügbar.<br />
2 Migrationspfade<br />
Im Rahmen einer Migrationsstrategie spielen relationale Datenbank-Managementsysteme<br />
(RDBMS) insofern eine besondere Rolle, als sie immer mit mindestens einer<br />
weiteren Anwendung verbunden sind. Idealerweise liegen die Daten einer Organisation<br />
149 http://www-306.ibm.com/software/data/db2/9/editions_features_advaccess.html<br />
150 Unter http://www-1.ibm.com/support/docview.wss?rs=71&uid=swg27009552 finden sich<br />
zahlreiche Dokumente zu DB2, darunter insbesondere auch die folgende Datei, die einen<br />
guten Überblick über die Möglichkeiten der Anwendungsentwicklung für DB2 bietet:<br />
ftp://ftp.software.ibm.com/ps/products/db2/info/vr9/pdf/letter/en_US/db2axe90.pdf<br />
Seite 168
in nur einem Datenbanksystem in normalisierter Form (ohne Redundanz) vor. Zudem ist<br />
im Idealfall die Abfragesprache (SQL), mit der die Anwendungen auf der Datenbank<br />
arbeiten, standardisiert und jede Anwendung sollte mit jedem RDBMS problemlos zusammenarbeiten.<br />
In der Realität finden sich in vielen IT-Infrastrukturen mehrere RDBMS,<br />
in denen teilweise die gleichen Daten mehrfach verwaltet werden und die von verschiedenen<br />
Anwendungen mit unterschiedlichen SQL-Dialekten und hersteller-spezifischen<br />
Spracherweiterungen sowie über herstellerspezifische Schnittstellen abgefragt werden.<br />
Die Ausführungen in Kapitel II.A 1 zeigen, dass sich die einzelnen Datenbank-Produkte<br />
in vielerlei Hinsicht voneinander unterscheiden. Als potenzielle Migrationshemmnisse<br />
können sich unter anderem die Unterschiede in Bezug auf folgende Aspekte auswirken:<br />
� Erweiterte Funktionalitäten, die vom Standard abweichen oder darüber hinaus<br />
gehen<br />
� Implementierte Datentypen<br />
� Implementierte Sicherheitsfunktionen<br />
� Angebotene Funktionen zur Notfallvorsorge und Hochverfügbarkeit, zum Beispiel<br />
Clustering und Replikation<br />
� Unterstützte Betriebssysteme, auf denen die Datenbank-Produkte lauffähig sind<br />
� Angebotene Lizenzmodelle<br />
� Unterstützte Speicherformate<br />
� Verfügbare administrative Tools<br />
� Verfügbare Zusatzprodukte<br />
� Verfügbare Schnittstellen und Treiber<br />
� Unterstützte SQL-Dialekte<br />
� Vorgegebene Systemgrenzen, beispielsweise die maximale Größe von Feldern,<br />
Tabellen und Datenbanken<br />
� Maximale Speicher- und Verarbeitungsgeschwindigkeit<br />
Eine Migration bietet vor diesem Hintergrund die Chance, eine Konsolidierung der<br />
Software- und Datenstrukturen durchzuführen. Gleichzeitig müssen bei einer Migration<br />
neben dem Datenbestand i.d.R. auch die Anwendungen umgestellt werden, was in<br />
vielen Fällen nicht ohne Eingriff in die Client-Software möglich ist. Unter Client-Software<br />
wird in diesem Zusammenhang eine beliebige Anwendung verstanden, die auf die<br />
Datenbank zugreift. Häufig läuft die Client-Software auf einem Applikationsserver. Selbst<br />
wenn die Datenbankanbindung mittels ODBC oder JDBC standardisiert ist und keine<br />
Trigger oder Stored Procedures verwendet werden, muss bei einer Datenbankmigration<br />
clientseitig mindestens der ODBC/JDBC-Treiber ausgetauscht werden. Die Zentralisierung<br />
und Konsolidierung des Datenbestandes bedarf also offensichtlich einiger<br />
Aufwände. Andererseits ist sie ein sehr attraktives Ziel, weil hierdurch im laufenden<br />
Betrieb erhebliche Pflegeaufwände und damit Kosten reduziert werden können.<br />
Für die Migration von Datenbankschemata gibt es herstellerunabhängige Tools, die eine<br />
Migration zwischen beliebigen Datenbanken ermöglichen. Diese Tools können jedoch<br />
Seite 169
längst nicht alle Probleme einer Datenbankmigration lösen. Problematisch sind in der<br />
Regel der Einsatz proprietärer Datenbanktechnologien und die Migration der gegebenenfalls<br />
in der Datenbank vorhandenen Programmlogik. Aus diesem Grund sollten auch<br />
im Hinblick auf zukünftige Migrationen relevante Aspekte beim Design einer Datenbanklösung<br />
beachtet werden:<br />
� Bei der Ausgestaltung einer Datenbanklösung sollte eine Orientierung an<br />
herstellerunabhängigen Standards erfolgen. Die Anwendung von herstellerspezifischen<br />
Techniken, die Auswirkungen auf die restliche IT-Infrastruktur haben,<br />
sollte vermieden werden. So sollten zum Beispiel die Anbindung an eine Datenbank<br />
über ODBC oder JDBC erfolgen und zur Datenabfrage ANSI SQL eingesetzt<br />
werden. Auf Stored Procedures und herstellerspezifische Erweiterungen<br />
sollte wo immer möglich verzichtet werden.<br />
� Eine Datenbanklösung sollte sich auf die Kernfunktionalität einer Datenbank,<br />
nämlich die strukturierte Sammlung und die Ablage von Daten in elektronischer<br />
Form, konzentrieren. Insbesondere sollte auf die Trennung von Geschäfts- und<br />
Datenhaltungslogik geachtet werden, wie dies u.a. auch von SAGA gefordert<br />
wird. Das heißt die Programmlogik sollte in der Middleware realisiert werden und<br />
nicht in der Datenbank, da ansonsten Migrationsprojekte sehr schwierig und<br />
zeitintensiv werden können. Wenn eine Verlagerung von Geschäftslogik oder<br />
Funktionalität vom Client hin zum Server gewünscht ist, lässt sich dies heute sehr<br />
gut mit 3-Schicht-Architekturen erreichen. Im Sinne einer plattformunabhängigen<br />
Implementierung bietet sich hier Java sowohl für den Client als auch für den<br />
Applikationsserver (Tomcat u.a.) an. Wird Geschäftslogik hingegen in die<br />
Datenbank verlagert, muss diese später ebenfalls migriert werden. Da für die<br />
Implementierung der Geschäftslogik von den einzelnen Datenbanksystemen<br />
unterschiedliche, häufig proprietäre Lösungen angeboten werden, können daraus<br />
erhebliche Migrationsaufwände entstehen.<br />
� SQL Statements im Programmcode sollten isoliert und modularisiert werden.<br />
Selbst wenn durch einen Wechsel des Datenbanksystems Änderungen an den<br />
SQL Statements notwendig werden, lassen sich diese dann an zentralen, gekapselten<br />
Stellen innerhalb der Anwendungen durchführen.<br />
Wurde eine Datenbank nach den oben beschriebenen Kriterien gestaltet, so ist in der<br />
Regel eine Migration sowohl ablösend als auch fortführend möglich, unabhängig davon,<br />
welches Quell- und Zielsystem zum Einsatz kommt. Hier spielen insbesondere die<br />
individuellen Anforderungen, zum Beispiel an Performance oder Recovery-<br />
Funktionalitäten, eine Rolle. Aus diesem Grund werden an dieser Stelle nicht einzelne<br />
Migrationspfade, sondern generell die ablösende beziehungsweise fortführende<br />
Migration betrachtet. Unabhängig davon bleibt festzuhalten, dass Datenbankmigrationen<br />
häufig komplex sind und dass in jedem Fall vor einer Migration genau geprüft werden<br />
muss, welche spezifischen Probleme bei der jeweiligen Migration zu erwarten sind.<br />
Neben der Datenbank an sich, muss bei einer Migration insbesondere auch die Anbindung<br />
der Anwendungen an die Datenbank berücksichtigt werden. Eine Standardisierung<br />
der Datenbankanbindung über ODBC oder JDBC hilft hierbei, löst jedoch nicht alle Probleme.<br />
Beispielweise können Unterschiede in den SQL-Dialekten der beteiligten Daten-<br />
Seite 170
anken zu erheblichen Migrationsaufwänden führen. Wurde keine saubere Trennung<br />
zwischen Geschäftslogik und Datenhaltungslogik eingehalten, müssen zudem Stored<br />
Procedures oder Trigger portiert werden.<br />
Darüber hinaus können Änderungen innerhalb der Client-Anwendung selbst notwendig<br />
werden. Neben den schon genannten Faktoren (Verwendung von Triggern und Stored<br />
Procedures) spielt hierbei insbesondere die verwendete Programmierschnittstelle innerhalb<br />
des Clients eine Rolle. Wenn die Datenbankanbindung direkt über eine Schnittstelle<br />
des Herstellers implementiert wurde (zum Beispiel embedded SQL), muss mit deutlich<br />
mehr Aufwand gerechnet werden, als wenn eine Abstraktionsebene, wie zum Beispiel<br />
ADO.NET, dazwischen geschaltet wurde. Zu beachten ist dabei, dass für eine Änderung<br />
innerhalb der Anwendung deren Source Code verfügbar sein muss. Der Aufwand für die<br />
notwendigen Änderungen hängt dabei auch von einer sauberen Architektur der Anwendung<br />
ab. Einen guten Überblick über Anwendungsarchitekturen vermittelt SAGA 151 .<br />
Zu empfehlen ist in jedem Fall die Einbeziehung des Herstellers einer Anwendung. Die<br />
feste Bindung an ein bestimmtes RDBMS wird auch seitens vieler Anbieter von Anwendungen<br />
als Marktnachteil gesehen, sodass von einer nennenswerten und wachsenden<br />
Unterstützung bei einer Migration insbesondere zu einem Open Source RDBMS ausgegangen<br />
werden kann.<br />
Zusammenfassend lässt sich sagen, dass eine erfolgreiche Migration neben den Besonderheiten<br />
der einzelnen Datenbanksysteme insbesondere davon abhängt, inwieweit im<br />
Vorfeld der eigentlichen Migration bestimmte Regeln eingehalten wurden:<br />
� Standardisierter Datenbankzugriff z.B. über ODBC oder JDBC<br />
� Einsatz von herstellerunabhängigen Standards<br />
� Vermeidung von Programmlogik in der Datenbank<br />
� Einhaltung einer sauberen Trennung zwischen Datenhaltung und Geschäftslogik<br />
in den Client-Anwendungen<br />
� Isolierung und Modularisierung der Datenbankzugriffe in den Client-<br />
Anwendungen<br />
� Einbeziehung der Hersteller der Client-Anwendungen<br />
� Konsolidierung von Software- und Datenstrukturen<br />
2.1 Die ablösende Migration proprietärer und offener Datenbank-Systeme<br />
Die technischen Betrachtungen zur Datenbank-Migration zeigen auf, dass neben den<br />
proprietären relationalen Datenbank-Managementsystemen (RDBMS) von Microsoft,<br />
IBM, oder Oracle durchaus leistungsfähige Lösungen auf der Basis von Open Source<br />
Software (OSS) als Alternativen zur Verfügung stehen und eine ablösende Migration<br />
rechtfertigen. Wichtige Vertreter solcher OSS-Lösungen sind MySQL, PostgreSQL und<br />
Firebird.<br />
151 siehe http://www.kbst.bund.de<br />
Seite 171
Die aufgeführten OSS-Lösungen bieten unterschiedliche Funktionalitäten und ihre<br />
Eignung muss im Einzelfall bezüglich der jeweiligen Anforderungen geprüft werden.<br />
Hervorzuheben ist, dass alle genannten OSS-Lösungen plattformunabhängig sind und<br />
auch installationsfertige Windows-<strong>Version</strong>en als Download im Internet verfügbar sind.<br />
Damit können diese Datenbanksysteme auch bei einer punktuellen oder einer betriebssystemübergreifenden<br />
Migration eingesetzt werden.<br />
Datenbanken gehören zu den Wegbereitern für den Einsatz von Linux in unternehmenskritischen<br />
Anwendungsbereichen. Die Software AG hat mit AdabasD bereits 1997 ein<br />
proprietäres (seinerzeit SAP-zertifiziertes) RDBMS für Linux angeboten. Oracle und Informix<br />
folgten 1998 und haben damit die Kredibilität von Linux im professionellen Umfeld<br />
deutlich gesteigert. Die unter dem Acronym LAMP bekannte Kombination von Linux,<br />
Apache, MySQL und PHP ist seit Beginn der kommerziellen Internetnutzung eine der<br />
beliebtesten Infrastrukturen für Webshops und dynamische Webseiten. Mit PostgreSQL<br />
und Firebird stehen vollwertige RDBMS mit Transaktionsunterstützung, Triggern und<br />
Stored Procedures auch unter Open Source Lizenzen zur Verfügung. An hochwertigen<br />
Optionen für den Einsatz von Linux und Open Source Software im Bereich der Datenbanksysteme<br />
mangelt es nicht.<br />
Wenn die grundsätzliche Möglichkeit für eine Datenbankmigration gegeben ist, muss ein<br />
geeignetes RDBMS als Zielsystem ausgewählt werden. Das Angebot an alternativen<br />
Migrationszielen ist sowohl im proprietären als auch im Open Source Bereich vielfältig<br />
und attraktiv. Eine pauschale, einfache und eindeutige Entscheidung für das eine oder<br />
andere System lässt sich aus den charakteristischen Merkmalen nicht ableiten. Wichtig<br />
ist deshalb, dass die möglichen Zielsysteme jeweils im Einzelfall anhand der tatsächlich<br />
genutzten Funktionalitäten und anhand der als relevant erachteten Eigenschaften ausgewählt<br />
werden. Ein Ziel ist meist auch, möglichst wenig unterschiedliche Datenbanksysteme<br />
in einer Institution zu betreiben (Vereinheitlichung).<br />
Bei der Übernahme von Daten aus Datentypen, die im Zielsystem nicht identisch vorhanden<br />
sind, ist es i.d.R. möglich, einen geeigneten Typ mit größerem Wertebereich zu<br />
identifizieren. Hier muss vor allem bei großvolumigen Datentypen beachtet werden, dass<br />
diese in einigen RDBMS nicht such- oder indizierbar sind, in anderen jedoch schon. Zudem<br />
muss beim Übergang zu einer ODBC-Anbindung darauf geachtet werden, dass<br />
ODBC unterschiedliche Funktionsgruppen unterscheidet, das heißt dass zum Beispiel<br />
ein ODBC-Treiber Level 1 nicht die gleiche Funktionalität bietet wie ein ODBC-Treiber<br />
Level 2.<br />
Für die ablösende Migration werden durch die Datenbankhersteller inzwischen<br />
zahlreiche Tools angeboten. In der Regel ermöglichen diese Tools eine mehr oder<br />
weniger automatisierte Migration von Datenbankobjekten, -schemata und den<br />
eigentlichen Daten. Nur eingeschränkt möglich ist jedoch eine Automatisierung der<br />
Migration der Geschäftslogik z. B. von Stored Procedures. Häufig können diese Tools<br />
aber die Arbeit in einem Migrationsprojekt deutlich vereinfachen, da sie viele<br />
Standardaufgaben, wie zum Beispiel die Umwandlung von Datentypen, deutlich<br />
erleichtern. Im Folgenden werden einige Beispiele für Migrationswerkzeuge aufgeführt:<br />
Seite 172
� MySQL Migration Toolkit<br />
Das MySQL Migration Toolkit erlaubt die Migration von Microsoft Access, Microsoft<br />
SQL Server oder Oracle Datenbanken nach MySQL. Das grafische Tool führt<br />
anhand eines stufenweisen Vorgehens durch den gesamten Migrationsprozess.<br />
Durch entsprechende Assistenten lassen sich Migrationsschritte automatisieren.<br />
Darüber hinaus besteht auch die Möglichkeit, manuell in den Migrationsprozess<br />
einzugreifen.<br />
Laut Herstellerangaben besteht die Möglichkeit, das Toolkit beziehungsweise<br />
einzelne Module des Toolkits anzupassen, sodass auch andere Datenbanksysteme<br />
auf MySQL migriert werden können.<br />
Der Zugriff auf die zu migrierende Datenbankquelle erfolgt standardisiert über<br />
JDBC. Dadurch spielt es keine Rolle, auf welchem Betriebssystem die Quell-<br />
Datenbank installiert ist.<br />
� SQL Server Migration Assistant for Oracle (SSMA for Oracle)<br />
Der SSMA for Oracle ermöglicht die weitgehend automatisierte Migration von<br />
einer Oracle Datenbank zu einem Microsoft SQL Server. Neben der Migration der<br />
Datenbankobjekte und der Daten erfolgt abschließend auch eine Validierung des<br />
migrierten Codes und der Daten. Laut Herstellerangaben ist damit auch eine<br />
Migration von Stored Procedures möglich.<br />
� Oracle Migration Workbench (OMWB)<br />
Die Oracle Migration Workbench unterstützt die Migration von Sybase, Informix<br />
und DB2 Datenbanken nach Oracle. Mit der Oracle SQL Developer Migration<br />
Workbench verfügt Oracle zudem über ein Werkzeug, mit dem sich Microsoft<br />
Access, Microsoft SQL Server und MySQL Datenbanken nach Oracle migrieren<br />
lassen. Für die Überprüfung der Migration stellt Oracle den Database Migration<br />
Verifier (DMV) zur Verfügung. Damit lassen sich sowohl die Struktur als auch die<br />
Daten überprüfen.<br />
� IBM Migration Toolkit<br />
Das IBM Migration Toolkit unterstützt unter anderem die Migration von Oracle,<br />
Microsoft SQL Server und MySQL hin zu DB2 und Informix. Neben Datenbankschemata<br />
und Daten kann auch Logik in Form von Triggern oder Stored<br />
Procedures migriert werden. Auch die Anwendungsmigration wird durch einen<br />
Wizard zur Migration von Queries unterstützt (zum Beispiel Umwandlung von<br />
proprietären Joins in Standard-Joins).<br />
� Weitere Migrationstools<br />
Neben den Migrationstools der einzelnen Hersteller gibt es zahlreiche weitere<br />
Tools, die eine Migration erleichtern können. Beispielhaft sei an dieser Stelle der<br />
eva/3 Universal Database Converter genannt, der die Migration von Tabellenstrukturen<br />
und Daten zwischen allen in diesem Leitfaden beschriebenen<br />
Datenbanksystemen unterstützt. Zudem ist es mittels sogenannter ETL-Tools<br />
(Extraction-Tranformation-Loading) wie der OSS-Lösung Pentaho Data Integra-<br />
Seite 173
tion möglich, auch komplexe Transformationen von einer Datenbank zu einer<br />
anderen durchzuführen.<br />
Generell kann festgehalten werden, dass sich Standardaufgaben im Rahmen eines Migrationsprojektes<br />
mit den angebotenen Tools gut lösen lassen. Darüber hinaus bieten<br />
einige Werkzeuge auch Hilfestellung bei der Migration der Geschäftslogik. Die Erfahrung<br />
zeigt jedoch, dass diese Aufgabe aufgrund ihrer Komplexität i.d.R. nur in Teilen durch<br />
die Werkzeuge erledigt werden kann. Die Hauptarbeit muss an dieser Stelle manuell<br />
erfolgen und stellt wohl häufig das größte Problem bei der Migration von Datenbanken<br />
dar.<br />
2.2 Fortführende Migration von Datenbank-Systemen<br />
Naturgemäß haben die Hersteller ein Interesse daran, dass die aktuellen <strong>Version</strong>en ihrer<br />
Datenbanksysteme eingesetzt werden. Zwar wird die fortführende Migration i.d.R. von<br />
allen Herstellern durch entsprechende Tools unterstützt, es muss aber trotzdem in jedem<br />
Einzelfall sorgfältig geprüft werden, inwieweit Probleme aufgrund einzelner technischer<br />
Besonderheiten zu erwarten sind. Da es sich hierbei häufig um sehr spezifische technische<br />
Feinheiten handelt, kann an dieser Stelle keine Aussage dazu getroffen werden,<br />
welche konkreten Probleme im Einzelfall zu erwarten sind. Wie auch bei der ablösenden<br />
Migration steigt jedoch im Allgemeinen die Anzahl der möglichen Probleme, je mehr<br />
proprietäre Funktionalitäten eingesetzt werden und je komplexer und umfangreicher die<br />
Geschäftslogik innerhalb der Datenbank ist.<br />
Um einen Umstieg auf neuere <strong>Version</strong>en auch bei problematischen Migrationsvorhaben<br />
zu ermöglichen, bietet z. B. Microsoft die Möglichkeit, den SQL Server 2005 im Kompatibilitätsmodus<br />
zu betreiben, das heißt der SQL Server 2005 verhält sich in diesem Fall<br />
wie ein SQL Server 2000. Eine solche Lösung sollte aber bestenfalls eine Zwischenlösung<br />
sein, bis eine „echte― Migration durchgeführt wird.<br />
Probleme ergeben sich häufig auch, wenn bei einer fortführenden Migration mehrere<br />
<strong>Version</strong>en eines Datenbanksystems übersprungen werden. Oft beachten die Hersteller<br />
bei der Entwicklung neuer Datenbanksysteme nur die letzten <strong>Version</strong>en als Migrationsquelle<br />
und bieten daher keine Werkzeuge an, die eine Migration älterer <strong>Version</strong>en des<br />
Datenbanksystems unterstützen. Es ist auch nicht davon auszugehen, dass bei den<br />
Herstellern umfassendes Wissen für eine solche Migration verfügbar ist. Es kann daher<br />
notwendig sein, diese Art der Migration in mehreren <strong>Version</strong>sschritten durchführen,<br />
wodurch sich der Aufwand insbesondere beim Testen erheblich erhöht.<br />
Neben der Migration des Datenbanksystems an sich kann auch eine Migration unter<br />
Beibehaltung des Datenbanksystems von Vorteil sein, beispielsweise wenn nur das darunter<br />
liegende Betriebssystem ausgetauscht wird. Hierbei ist es zum Beispiel auch<br />
denkbar, eine Mischung aus proprietärer und Open Source Software einzusetzen. So<br />
kann ein proprietäres Datenbanksystem wie Oracle zum Beispiel auch unter Linux betrieben<br />
werden.<br />
Seite 174
B Thema Webserver<br />
Der ursprüngliche Einsatzzweck von Webservern ist die Bereitstellung von statischen<br />
Informationen, insbesondere Webseiten, sodass diese über einen Webbrowser<br />
angezeigt werden können. Durch die Einsatzmöglichkeiten von Scriptsprachen wie zum<br />
Beispiel Perl wird diese Funktionalität um die Bereitstellung dynamischer Inhalte<br />
erweitert. Heutige Webserver wie der Apache oder der Microsoft IIS bieten weitere<br />
zahlreiche Funktionalitäten, die den klassischen Webserver mehr und mehr zu einem<br />
vollwertigen Applikationsserver ausbauen, der in der Lage ist, komplexe Anwendungen<br />
auszuführen.<br />
Aktuell verfügen die beiden betrachteten Webserver über alle wesentlichen Merkmale,<br />
die von einem modernen Webserver zu erwarten sind und gehen an vielen Stellen auch<br />
darüber hinaus. Beispielsweise verfügen beide Webserver über Mechanismen zur<br />
Authentifizierung und Verschlüsselung.<br />
1 Produkte / Technologien<br />
1.1 Apache HTTP Server<br />
Der Apache HTTP Server geht auf eine Weiterentwicklung des NCSA HTTPd im Jahre<br />
1995 zurück. Er wird von der Apache Software Foundation unter der Apache License als<br />
Open Source Software frei zur Verfügung gestellt. Aktuell ist die <strong>Version</strong> 2.2 verfügbar,<br />
aber auch die <strong>Version</strong>en 2.0 und 1.3 werden noch angeboten und gepflegt.<br />
Auch wenn der Apache HTTP Server Marktanteile eingebüßt hat, ist er gemäß einer<br />
regelmäßig durch Netcraft durchgeführten Umfrage 152 noch immer der am meisten eingesetzte<br />
Webserver. Seine Bedeutung zeigt sich auch darin, dass - aufbauend auf dem<br />
Apache HTTP Server und weiteren Komponenten – festgelegte Systemarchitekturen<br />
definiert wurden. Beispielsweise steht LAMP für eine Architektur bestehend aus den<br />
Komponenten Linux, Apache, MySQL und PHP.<br />
Der Apache HTTP Server besteht aus seinem Kern und einer großen Anzahl von Modulen,<br />
die in Abhängigkeit von den jeweiligen Anforderungen einkompiliert beziehungsweise<br />
geladen werden können. Durch den modularen Aufbau ist der Apache-Server sehr<br />
leicht erweiterbar und kann an geänderte Anforderungen angepasst werden. Im normalen<br />
Lieferumfang der Software sind schon zahlreiche unterschiedliche Apache Module<br />
enthalten. Diese können noch durch weitere Module (zum Beispiel Eigenentwicklungen)<br />
erweitert werden.<br />
Apache Module sind Codesegmente, die der Apache API Spezifikation entsprechen und<br />
in den Apache HTTP Server geladen werden können. Sie werden für Funktionalitäten<br />
verwendet, die über den herkömmlichen Dienst eines Webservers hinaus gehen. So<br />
können zum Beispiel sichere Authentifizierung oder Techniken wie Server Side Includes<br />
(SSI) problemlos realisiert werden. Dazu muss lediglich die Moduldatei vorhanden sein<br />
und ein entsprechender Eintrag in der Konfigurationsdatei editiert werden. Bei Bedarf<br />
152 http://news.netcraft.com/archives/2007/09/03/september_2007_web_server_survey.html<br />
Seite 175
werden die Module dann von dem Webserver dynamisch geladen. Alternativ können<br />
Module auch zum Zeitpunkt des Kompilierens statisch in den Apache Webserver eingebunden<br />
werden. Dieses Vorgehen ist dann effizient, wenn Modulfunktionalitäten sehr<br />
häufig vom Webserver benötigt werden.<br />
Wenn der Apache sorgfältig konfiguriert wird und nur die tatsächlich benötigten Module<br />
benutzt werden, wird weniger Speicherplatz benötigt. Gleichzeitig bedeuten weniger Module<br />
in der Regel auch weniger Angriffsfläche, wodurch die Sicherheit des Systems erhöht<br />
wird. Der genaue Umfang der in der verwendeten Distribution enthaltenen Module<br />
ergibt sich aus der Dokumentation zur jeweiligen <strong>Version</strong>.<br />
Das modulare Design zur Erweiterung von Web-Server Eigenschaften erhöht die Flexibilität<br />
des Systems. Gleichzeitig verbessert sich die Effizienz und die Geschwindigkeit des<br />
Web-Servers, wenn anstelle von externen Applikationen interne Prozesse abgearbeitet<br />
werden können.<br />
Für Migrationsprojekte sind heute weniger die Migration des Apache an sich von Bedeutung.<br />
Vielmehr zeigt die Praxis, dass insbesondere den Modulen besondere Aufmerksamkeit<br />
gewidmet werden muss. Zu den zahlreichen Modulen gehören u.a.:<br />
� Authentifikationsmodule (zum Beispiel mod_auth)<br />
� Sicherheitsmodule (zum Beispiel mod_ssl)<br />
� Skript- beziehungsweise Interpretermodule für Programmiersprachen, wie zum<br />
Beispiel PHP, Java, Python, Tcl und Perl.<br />
Die folgende Tabelle gibt eine kleine Auswahl der verfügbaren Module wieder. Die Auflistung<br />
ist nicht vollständig, sie soll jedoch einen Eindruck von den vielfältigen Möglichkeiten<br />
des Apache-Webservers vermitteln.<br />
Modul Funktion<br />
Standard- und Zusatz-Module<br />
mod_cgi Ausführung von CGI-Skripten (Common Gateway Interface)<br />
mod_dav eIntegrierte DAV Unterstützung (HTTP Extensions for Distributed<br />
Authoring – WebDAV). Bearbeiten von Dateien und Verzeichnissen<br />
direkt über HTTP auf dem Webserver. DAV steht für Distributed<br />
Authoring and <strong>Version</strong>ing<br />
mod_fastcgi Integrierte FastCGI Unterstützung<br />
mod_frontpage Integrierte FrontPage Unterstützung<br />
mod_iserv Integrierte Java Servlet Unterstützung<br />
mod_php3 Integrierte PHP 3 Unterstützung<br />
mod_php4 Integrierte PHP 4 Unterstützung<br />
mod_perl Integrierte Perl Unterstützung<br />
mod_alias Stellt die Alias- beziehungsweise Redirect-Anweisungen zur Verfügung<br />
Seite 176
Modul Funktion<br />
mod_autoindex Generiert Verzeichnisindizies<br />
mod_include Wird benötigt für Server-Sides Includes<br />
mod_mime Sorgt für Generierung entsprechender MIME-Headers<br />
mod_log_config Zur Führung von einer oder mehrerer Logfiles, der Inhalt kann an die<br />
entsprechenden Bedürfnisse angepasst werden<br />
mod_deflate Dient der Komprimierung von verschiedenen Dateitypen vor der<br />
Übertragung zum Browser. Ist insbesondere bei eingeschränkten<br />
Bandbreiten sinnvoll, die Kompression muss von den Browsern unterstützt<br />
werden<br />
mod_proxy Erweitert den Apache-Webserver um die Funktionalität eines Proxys<br />
beziehungsweise Proxy-Caches<br />
mod_rewrite Ermöglicht die Verwendung von internen Aliasen und externen Redirects<br />
mod_speling Korrigiert Tippfehler der Benutzer<br />
mod_ssl Stellt die Protokolle SSL (Secure Sockets Layer) und TLS (Transport<br />
Layer Security) zur Verfügung<br />
mod_usertrack Mittels HTTP-Cookies wird das Nutzerverhalten protokolliert<br />
mod_vhost_alias Für die Konfiguration von vielen virtuellen Hosts, insbesondere für<br />
Service-Provider interessant<br />
Module zur Authentifizierung<br />
mod_access Zugriffskontrolle auf Basis von Hostnamen oder IP-Adressen<br />
mod_auth Für die Konfiguration von passwortgeschützten Verzeichnissen beziehungsweise<br />
Dokumenten. Sehr einfache Variante eines Authentifizierungsmoduls,<br />
sollte nur bei einer geringen Anzahl von Nutzern<br />
angewendet werden<br />
mod_auth_digest Nutzer- Authentifikation mittels MD5 Digest Authentication, die<br />
Übermittlung der Passwörter erfolgt nicht im Klartext<br />
mod_auth-dbm Nutzer-Authentifikation mittels Berkeley-DB-Dateien, sinnvoll für die<br />
Verwendung bei einer größeren Anzahl von Benutzern<br />
mod_auth_ldap Nutzer-Authentifikation mittels LDAP<br />
mod_auth_kerb Nutzer-Authentifikation mittels Kerberos, unterstützt die <strong>Version</strong>en 4<br />
und 5<br />
mod_auth_notes Nutzer-Authentifikation mittels Lotus Notes Server<br />
mod_auth_oracle Nutzer-Authentifikation mittels Oracle-Datenbank, es gibt auch noch<br />
weitere Module für beispielsweise MySQL und Postgres-<br />
Datenbanken<br />
mod_auth_smb Nutzer-Authentifikation mittels SMB-Server (Samba, Windows NT)<br />
Tabelle 38: Apache-Module<br />
Seite 177
Nicht alle Module für den Webserver stehen kostenlos zur Verfügung. Immer mehr Unternehmen<br />
bieten die Apache Module gegen entsprechende Lizenzkosten an. Beispiele<br />
hierfür sind:<br />
� Allaire mit der Java-Servlet-Engine Macromedia JRun und dem Application-<br />
Server Macromedia ColdFusion,<br />
� Sun Microsystems mit seinem Active Server Pages Modul.<br />
Die Administration des Webservers erfolgt mittels gut dokumentierter Konfigurationsdateien<br />
(Textdateien). Für das Aktivieren einer Funktionalität genügt es häufig, in einer<br />
entsprechenden Zeile dieser Textdatei das Kommentarzeichen mit Hilfe eines einfachen<br />
Texteditors zu löschen. Für Administratoren, die eine grafische Oberfläche bevorzugen,<br />
gibt es alternativ proprietäre und Open Source Tools zur Apache-GUI 153 .<br />
Für die Integration einer Suchfunktionalität innerhalb einer Website kann der Apache-<br />
Webserver durch ein entsprechendes Programm ergänzt werden. Es stehen unterschiedliche<br />
Softwareeinheiten zur Auswahl, zum Beispiel das Suchsystem HTDig 154 .<br />
HTDig ermöglicht die Indexierung ganzer Websites. Das Programm erzeugt mittels eines<br />
sogenannten Robots einen Suchindex, der über ein geeignetes CGI-Skript abgefragt<br />
werden kann. Die folgenden Punkte geben die Kernfunktionalitäten der Software wieder:<br />
� Anlage eines Suchmaschinen-Index (über eine oder mehrere Webseiten beziehungsweise<br />
Teilbereiche einer Webseite).<br />
� Einschränkung der Indexierung durch die Verwendung von Filtern (Filterkriterien<br />
können Dateitypen und bestimmte URLs sein).<br />
� Indexierung von für Web-Server untypischen und binären Dateiformate (PDF.<br />
DOC, usw.), durch die Verwendung von externen Zusatzprogrammen<br />
� Verwendung von zahlreichen Abfragemöglichkeiten und verschiedenen Suchalgorithmen<br />
(Wörter, Wortteile, Synonyme, usw.).<br />
� Anpassung der Suchseite und der entsprechenden Trefferliste über einfache<br />
Templatedateien.<br />
� Unterstützung von Sonderzeichen wie Umlaute.<br />
� Unterstützung des Standards für „Robot Exclusion― und die „Basic-WWW-<br />
Authentication― durch den verwendeten Robot, zur Berücksichtigung geschützter<br />
Inhalte bei der Indexierung.<br />
Die HTDig-Distribution wird unter der GNU General Public License (GPL) bereitgestellt<br />
und steht somit zur freien Verfügung.<br />
Der Apache bietet eine ganze Reihe von Modulen, mit denen sich unterschiedlichste<br />
Arten einer Nutzer-Authentifikation umsetzen lassen, zum Beispiel die Authentifikation<br />
mittels Kerberos 4 oder 5. Andere Möglichkeiten sind die Authentifikation mittels Samba<br />
oder Datenbanken wie zum Beispiel Oracle, MySQL oder Postgres. Eine verschlüsselte<br />
Datenübertragung mittels SSL und TLS (Transport Layer Security) ist ebenfalls möglich.<br />
153 http://gui.apache.org/<br />
154 http://www.htdig.org/<br />
Seite 178
Mittels HTTP 1.1 Kompression lassen sich die Daten zudem bei der Datenübertragung<br />
komprimieren.<br />
Eine verschlüsselte Passwortübertragung kann über eine MD5 Digest Authentication<br />
realisiert werden.<br />
Die Konfiguration der Zugriffskontrolle ist auf Basis von Hostnamen oder IP-Adressen<br />
möglich. Auch die Einrichtung von virtuellen Hosts (Multiple Web Sites mit einer IP-<br />
Adresse) ist möglich.<br />
Über die unterschiedlichen Module und Komponenten lässt sich der Apache um zahlreiche<br />
unterschiedliche Schnittstellen und Technologien erweitern. So ermöglicht es zum<br />
Beispiel Tomcat 155 , JSPs und Java Anwendungen unter Apache laufen zu lassen. Auf<br />
diese Weise lässt sich eine Interoperabilität des Apache auf technischer Ebene mit den<br />
unterschiedlichsten Technologiestacks herstellen, seien es Skriptsprachen, Java, Datenbanken<br />
oder Verzeichnisdienste. Selbst Module, die ASP.Net Anwendungen unterstützen,<br />
sind verfügbar. Mit mod_mono steht zum Beispiel ein Modul auf Grundlage von<br />
Mono 156 - einer Software für Entwicklung und Betrieb von .Net Anwendungen unter unterschiedlichen<br />
Betriebssystemen (zum Beispiel Linux oder Unix) - zur Verfügung. Durch<br />
die Vielzahl der Module bietet der Apache damit zahlreiche Funktionalitäten, die über<br />
einen klassischen Webserver hinausgehen und eher einem Applicationserver zuzuordnen<br />
sind. Ein weiteres Beispiel für die Einsatzmöglichkeiten des Apache HTTP Servers<br />
ist die Microsoft FrontPage Servererweiterung, die auch mit dem Apache HTTP Server<br />
genutzt werden kann.<br />
Im Fazit gehört der Apache Webserver zu den führenden Webservern am Markt. Auf<br />
Basis von LAMP (Linux, Apache, MySQL, PHP) werden große Websites wie zum Beispiel<br />
Wikipedia mit dem Apache Webserver betrieben 157 . Der Apache kommt nicht nur im<br />
Open Source Umfeld vor, sondern auch in Systemumgebungen mit kommerziellem Hintergrund<br />
hat er einen hohen Marktanteil. Aufgrund seiner Modularität und der Vielfältigkeit<br />
seiner Erweiterungsmöglichkeiten lässt er sich auf unterschiedlichste Anforderungen<br />
anpassen. Die Projekterfahrungen zeigen, dass er auch für große Systemumgebungen<br />
geeignet ist.<br />
1.2 Microsoft Internet Information Services (IIS)<br />
Bei den Microsoft Internet Information Services (IIS) handelt es sich um einen proprietären<br />
Datei- und Anwendungsserver. In früheren <strong>Version</strong>en wurde der IIS unter der Bezeichnung<br />
Internet Information Server vertrieben. Der IIS wurde von Microsoft erstmals<br />
für Windows NT angeboten. Heute wird er in der Regel integriert in das Windows Betriebssystem<br />
ausgeliefert.<br />
Neben dem Apache Webserver zählen die IIS zu den am meisten eingesetzten Produkten<br />
im Webserverbereich. 158<br />
155 http://tomcat.apache.org/<br />
156 http://www.mono-project.com/<br />
157 http://de.wikipedia.org/wiki/LAMP#_note-online-artikel<br />
158 http://news.netcraft.com/archives/2007/09/03/september_2007_web_server_survey.html<br />
Seite 179
Aktuell steht die <strong>Version</strong> 6.0 auf Windows Server 2003 zur Verfügung, die <strong>Version</strong> 7.0<br />
wird voraussichtlich Anfang des Jahres 2008 als Bestandteil des Windows Server 2008<br />
verfügbar sein.<br />
1.2.1 Internet Information Services 5.0<br />
Die IIS sind integraler Bestandteil der Serverversionen von Microsoft Windows ab <strong>Version</strong><br />
Windows 2000 Server. Neben den Standardprotokollen wie zum Beispiel HTTP, FTP,<br />
SMTP, POP3 unterstützt die Nachfolger-<strong>Version</strong> des Internet Information Servers 4.0<br />
zahlreiche neue Funktionalitäten. Die wichtigsten Neuerungen im Bereich Datenbereitstellung<br />
werden nachfolgend erläutert:<br />
� WebDAV:<br />
Unterstützung des WebDAV-Standards zum gemeinsamen Bearbeiten von Dateien<br />
und Verzeichnissen direkt über HTTP auf dem Webserver.<br />
� Web-Verzeichnisse:<br />
Sie dienen den Nutzern als herkömmliche Dateiverzeichnisse auf dem Web-<br />
Server und stehen unmittelbar im Zusammenhang mit der WebDAV-<br />
Funktionalität.<br />
� Frontpage Unterstützung:<br />
Zusätzliche Funktionalitäten für die Entwicklung und Verwaltung von Webinhalten<br />
mittels Microsoft Frontpage. Mittels des grafischen Frontend kann der Administrator<br />
Web-Inhalte auf den Web-Server erstellen und verändern.<br />
� Unterstützung von multiplen Web-Sites:<br />
Erlaubt das Hosting von verschieden Web-Sites auf einem Server und einer IP-<br />
Adresse.<br />
� HTTP 1.1-Kompression:<br />
Ermöglicht die HTTP-Kompression bei der Kommunikation zwischen dem Web-<br />
Server und dem kompressionsfähigen Client-System, die insbesondere bei eingeschränkten<br />
Bandbreiten sinnvoll sein kann.<br />
� PICS Rating:<br />
„Platform for Internet Content Selection― 159 -Rating ist ein technischer Standard<br />
zum Einsatz eines Bewertungssystems von Webinhalten des W3-Konsortiums.<br />
Mit PICS verbinden sich die inhaltliche Bewertung und die Möglichkeit der Filterung<br />
von Webseiten nach bestimmten Merkmalen. Dazu wird im HTML-Header<br />
eines Dokuments ein PICS-Code eingefügt, der im Browser nicht sichtbar ist.<br />
Im Bereich webbasierte Applikationen bietet der IIS 5.0 folgende Neuerungen:<br />
� XML-Integration:<br />
Ein XML-Parser in Windows 2000 ist als COM-Komponente implementiert und<br />
stellt eine vollständige XML-Basis für Anwendungen zur Verfügung.<br />
159 http://www.w3.org/PICS/<br />
Seite 180
� Windows Skript Komponenten:<br />
Entwickler können mittels der Skripting-Technologie wiederverwendbare COM<br />
Module für Webanwendungen entwickeln.<br />
� Bestimmung der Browser-Eigenschaften:<br />
Mittels ASP können neben der Entwicklung von ASP Anwendungen die genauen<br />
Browser-Eigenschaften der Client-Systeme ermittelt werden.<br />
� Prozess-Trennung:<br />
Der Administrator kann einzelne Applikations-Prozesse von den Kern-Prozessen<br />
und anderen Anwendungsprozessen isolieren.<br />
� ADSI 2.0:<br />
Erlaubt den Zugriff auf die Objekte, Eigenschaften und Methoden des Active Directory<br />
Service Interfaces. Die Integration des Web-Servers und des Active Directorys<br />
ermöglicht die Zuweisung von unterschiedlichen Web-Sites auf einen<br />
Web-Server zu bestimmten Nutzer-Domänen.<br />
Im Bereich Verwaltung bietet der IIS 5.0 im Wesentlichen folgende Funktionalitäten:<br />
� Management Delegation:<br />
Erlaubt die Übertragung von Verwaltungsaufgaben.<br />
� Prozess Throttling:<br />
Ermöglich die Begrenzung der CPU-Zeit für eine Netzanwendung oder Seite.<br />
Damit kann sichergestellt werden, dass Prozessorzeit für andere Websites oder<br />
für Nicht-Netzanwendungen verfügbar ist.<br />
Die IIS 5.0 bieten die Möglichkeit, die Nutzer-Authentifikation mittels Kerberos durchzuführen.<br />
Die alte Windows-Anmeldung mittels Windows LAN Manager (NTLM) ist jedoch<br />
immer noch möglich. Eine verschlüsselte Datenübertragung ist unter Anwendung von<br />
SSL <strong>3.0</strong> und TLS (Transport Layer Security) möglich. Es werden Client- und Serverzertifikate<br />
unterstützt.<br />
Über die Digest Authentication wird die verschlüsselte Passwortübertragung für die Authentifizierung<br />
ermöglicht. Die Anmeldeinformationen werden dabei als MD5-Hash<br />
übermittelt.<br />
Über IP- und Domänenbeschränkungen erhält der Administrator die Möglichkeit, den<br />
Zugriff auf Inhalte für Computer und Domänen zu erlauben beziehungsweise zu verbieten.<br />
1.2.2 Internet Information Services 6.0<br />
Zum Lieferumfang des Windows Server 2003 gehören die Internet Information Services<br />
6.0 (IIS 6.0), die jedoch in der Standardinstallation des Betriebssystems erstmalig nicht<br />
automatisch installiert werden. Der Administrator muss den Installationsvorgang explizit<br />
initialisieren und bestimmte Server-Funktionalitäten aktivieren.<br />
Durch Kombination mit den folgenden Technologien aus der Windows 2003 Server Produktgruppe<br />
gehen die IIS über die klassischen Möglichkeiten eines Webservers hinaus<br />
hin zu einem Applikationsserver:<br />
� ASP.NET<br />
Seite 181
� ASP<br />
� COM+<br />
� Microsoft Message Queuing (MSMQ)<br />
Für diese neue Rolle der Internet Information Services als Bestandteil eines Applicationservers<br />
wurden einige Neuerungen implementiert, die nachfolgend skizziert werden:<br />
� Zuverlässigkeit und Skalierbarkeit:<br />
Für Verbesserungen im Hinblick auf Zuverlässigkeit und Skalierbarkeit wurden<br />
innerhalb der Verarbeitungsarchitektur Änderungen vorgenommen. So können<br />
Fehler automatisch erkannt und im Bedarfsfall Prozesse neu gestartet werden.<br />
Dadurch wird das in den bisherigen <strong>Version</strong>en vorhandene Risiko minimiert, dass<br />
der Ausfall einer einzelnen Anwendung zum Ausfall aller Anwendungen führt. Parallel<br />
kann der Web-Server eingehende Anforderungen in einer Warteschlange<br />
aufnehmen. IIS 6.0 ist in der Lage, die Statusüberwachung von Arbeitsprozessen,<br />
Anwendungen und Websites durchzuführen.<br />
� .Net-Integration:<br />
Neu ist auch die Integration von ASP.NET in IIS. Den Entwicklern werden erweiterte<br />
Funktionalitäten des .NET Framework zur Erstellung von Anwendungen angeboten.<br />
Für Entwickler und Anwender kann zur Internationalisierung Unicode-<br />
Standard genutzt werden.<br />
Der IIS 6.0 kann in das Autorisierungsframework des Windows 2003 Servers mit eingebunden<br />
werden, zusätzlich können mit dem Autorisierungs-Manager Delegierungs- und<br />
Autorisierungsaktionen vorgenommen werden.<br />
Die Verwaltung des IIS 6.0 erfolgt nun auf XML-Metabasis und ermöglicht den Administratoren<br />
ein direktes Bearbeiten der Konfiguration. Eine Nutzung von Kerberos ist möglich,<br />
sofern der Client Kerberos unterstützt und ein Active Directory zur Verfügung steht.<br />
Zusammenfassend ist zu bemerken, dass die IIS ursprünglich als reine Webserver eingeführt<br />
wurden, inzwischen haben sie sich aber insbesondere durch die Integration mit<br />
.Net die Internet Information Services zu einem Basisbestandteil der Applicationserverlösung<br />
von Microsoft entwickelt. Im Zuge dieser Entwicklung wurde von Microsoft verstärkt<br />
Wert auf betriebskritische Themen wie Sicherheit oder Skalierbarkeit gelegt, sodass<br />
auch in diesen Bereichen deutliche Verbesserungen im Vergleich zu älteren <strong>Version</strong>en<br />
des IIS vorliegen. Konkrete Projekterfahrungen zeigen, dass sich die IIS 6.0 als stabile<br />
Alternative zu anderen Webservern auch in größeren Systemumgebungen einsetzen<br />
lassen.<br />
2 Migrationspfade<br />
Bei der Migration von Webservern können grundsätzlich zwei mögliche Herausforderungen<br />
unterschieden werden:<br />
� Migration von statischen Inhalten<br />
� Migration von dynamischen Inhalten<br />
Seite 182
Die hierbei zu lösenden Probleme stellen sich im Wesentlichen für alle Webserver-<br />
Produkte in gleicher Form.<br />
Das klassische Einsatzszenario eines Webservers war ursprünglich die Bereitstellung<br />
von statischen Inhalten, zum Beispiel von statischen Webseiten oder Bildern. Auch die<br />
Bereitstellung anderer Dateien wie zum Beispiel PDF Dokumenten fällt in diese Kategorie.<br />
Wird ein Webserver nur für solche Einsatzzwecke genutzt, ist eine Migration vergleichsweise<br />
einfach, da die statischen Inhalte in der Regel lediglich vom alten auf den<br />
neuen Webserver kopiert werden müssen. Erst wenn weitere Anforderungen wie zum<br />
Beispiel der Schutz von Dateien vor unberechtigtem Zugriff hinzukommen, sind darüber<br />
hinaus weitere Aktivitäten notwendig.<br />
Anders verhält es sich bei der Nutzung eines Webservers für die Bereitstellung dynamischer<br />
Inhalte. Darunter werden Scripte (zum Beispiel in Perl oder PHP) und Anwendungen<br />
zum Beispiel auf Basis von Java oder .Net verstanden. Insbesondere im Bereich der<br />
Anwendungen verschwimmen dabei heute die Grenzen zwischen Webserver und Applikationserver.<br />
Grundsätzlich bleibt jedoch festzuhalten, dass eine Migration von dynamischen<br />
Webseiten oder Anwendungen häufig mit vergleichsweise hohem Aufwand verbunden<br />
ist. Gegebenenfalls kann es sogar notwendig werden, die gesamten Anwendungen<br />
neu zu implementieren.<br />
Auf welcher Plattform (Windows oder Linux) ein Webserver dabei betrieben wird, spielt<br />
hinsichtlich der Migration, nur eine sehr untergeordnete Rolle, darin sind sich die Experten<br />
weitgehend einig. Eine weitere Betrachtung erfolgt daher nicht. Ebenso wird an dieser<br />
Stelle darauf verzichtet, das den dynamischen Inhalten typischerweise unterliegende<br />
Datenbanksystem zu betrachten. Eine weiterführende Behandlung dieses Themas findet<br />
sich im Abschnitt II.A 1.<br />
Im Folgenden werden vor allem die Migrationspfade der ablösenden Migration (ein<br />
Wechsel des eingesetzten Webserver-Produktes) sowie die fortführende Migration (die<br />
Beibehaltung der bestehenden Produktlinie) betrachtet. Dabei werden die grundsätzlichen<br />
Möglichkeiten aufgezeigt, notwendige Schritte erläutert und Hinweise gegeben, wo<br />
Probleme bei der Migration auftreten können und wie mit diesen umgegangen werden<br />
kann. Dies wird beispielhaft an mehr oder weniger konkreten Sachverhalten und den<br />
zuvor betrachteten Webserver-Produkten verdeutlicht.<br />
2.1 Die ablösende Migration proprietärer und offener Webserver<br />
In der Regel erfolgt eine ablösende Migration von Webservern im Rahmen eines generellen<br />
Technologiewechsels. Häufig werden dabei neue Anforderungen umgesetzt, sodass<br />
meist keine klassische Migration, sondern eine Neuimplementierung erfolgt.<br />
Wie eingangs beschrieben, bereitet die Migration von statischen Daten in der Regel<br />
kaum Probleme. Die Webserver unterscheiden sich jedoch durchaus in der Art und Weise,<br />
wie sich weitergehende Anforderungen zum Beispiel an den Zugriffsschutz Verschlüsselung<br />
usw. umsetzen lassen. Hier ist in jedem Fall eine Prüfung aufgrund der<br />
individuellen Anforderungen des jeweiligen Migrationsprojekts notwendig.<br />
Eine (automatische) Übernahme von Konfigurationsdaten ist bei einem Wechsel des<br />
Produkts (egal ob proprietär oder offen) in der Regel nicht möglich. Daher besteht die<br />
Seite 183
Hauptaufgabe bei einer Migration zunächst darin, die neuen Webserver so aufzusetzen<br />
und zu konfigurieren, dass alle Anforderungen erfüllt werden.<br />
Die bei weitem größte Herausforderung liegt erfahrungsgemäß bei der Migration dynamischer<br />
Inhalte. Hier bereiten unterschiedliche <strong>Version</strong>sstände und kleinere Unterschiede<br />
in der Implementierung der einzelnen Technologien in den Webservern Probleme.<br />
Beispielsweise kann es vorkommen, dass der Interpreter für die benötigte Scriptsprache<br />
für den abzulösenden Webserver eine neuere <strong>Version</strong> der Scriptsprache unterstützt als<br />
der Interpreter für den Zielserver. Auch wenn zum Beispiel auf den unterschiedlichen<br />
Produkten die benötigte Scriptsprache verfügbar ist, kann nicht davon ausgegangen<br />
werden, dass eine Migration der Scripte ohne Anpassungsbedarf möglich ist.<br />
Aufgrund der unterschiedlichen Ausrichtungen verschiedener Produkte kann es vorkommen,<br />
dass nicht alle Technologien auf dem jeweils anderen Produkt verfügbar sind.<br />
Während zum Beispiel die Microsoft Internet Information Services (IIS) stark auf .Net<br />
Technologien setzen, liegt der Schwerpunkt des Apache HTTP Servers eher im Script<br />
und Java-Umfeld. Trotzdem ist es aufgrund der verfügbaren Module möglich, auch .Net<br />
Anwendungen unter dem Apache HTTP Server zu betreiben. Allerdings muss damit gerechnet<br />
werden, dass diese Anwendungen angepasst oder in Teilen neu entwickelt werden<br />
müssen. Umgekehrt können Java Anwendungen nicht unverändert unter den IIS<br />
verwendet werden. Hier ist in der Regel eine vorherige Konvertierung des Codes notwendig.<br />
Auch hierbei muss mit erheblichen Problemen und größeren Anpassungen an<br />
den Anwendungen gerechnet werden. Je nach Komplexität der zu migrierenden Anwendung<br />
kann es bei einem Wechsel des Webservers daher sinnvoll sein, die Anwendung in<br />
der jeweils anderen Technologie komplett neu zu entwickeln<br />
Ein weiteres Problem bei der Migration ist die möglicherweise vorhandene Integration<br />
der Produkte in die weitere IT Infrastruktur. Insbesondere bei Microsoft entstehen in der<br />
Praxis häufig Anwendungen mit Abhängigkeiten zu anderen Microsoft Produkten wie<br />
zum Beispiel dem Active Directory oder Share Point. Neben der Migration des Webservers<br />
muss daher auch die Migration dieser Abhängigkeiten beziehungsweise der dahinterstehenden<br />
Produkte geplant werden.<br />
Da auf der anderen Seite beispielsweise der Apache HTTP Server je nach Einsatzzweck<br />
häufig durch Module oder weitere Produkte wie zum Beispiel Tomcat erweitert wird, entstehen<br />
auch hier häufig Abhängigkeiten. Somit ist hier insbesondere zu prüfen, ob die<br />
durch die Erweiterungen bereitgestellten zusätzlichen Funktionalitäten und Technologien<br />
(zum Beispiel Tomcat für den Einsatz von Java) auf dem neuen Webserver verfügbar<br />
sind.<br />
Prinzipiell lässt sich ein Webserver zwar auch so betreiben, dass diese Abhängigkeiten<br />
minimiert werden und bei einer Migration keine Probleme bereiten. In der Praxis lassen<br />
sich damit aber häufig nicht alle notwendigen funktionalen Anforderungen erfüllen. Spätestens<br />
dann, wenn zum Beispiel Anforderungen im Bereich Sicherheit oder dynamische<br />
Inhalte zum Beispiel in Form von Scripten oder Anwendungen hinzukommen, lassen<br />
sich gewisse Abhängigkeiten in der Regel nicht vermeiden.<br />
Seite 184
2.2 Fortführung der Produktlinie von Webservern<br />
Unabhängig davon, ob proprietäre oder offene Webserver zum Einsatz kommen, ist die<br />
Migration des eigentlichen Webservers bei einer fortführenden Migration eher kein Problem.<br />
Auch die Übernahme der statischen Inhalte sollte problemlos möglich sein. Dabei<br />
spielt es für gewöhnlich keine Rolle, ob bei der Migration das Betriebssystem gewechselt<br />
wird oder nicht, wie zum Beispiel eine Migration von Apache auf Windows zu Apache auf<br />
Linux. In diesem Fall spielt dann eher die Migration der mit dem Wechsel des Betriebssystems<br />
einhergehende Wechsel der Infrastrukturdienste eine Rolle, zum Beispiel bei<br />
der Dateiablage mit den unterschiedlichen Dateisystemen, die zum Einsatz kommen<br />
können. Diese können zu Problemen bezüglich Konstruktion der Pfade und der erlaubten<br />
Länge der Dateinamen führen (siehe Kapitel II.E 2).<br />
Die Erfahrung zeigt, dass die Migration des Apache HTTP Servers an sich meist unproblematisch<br />
ist. Schwierig kann jedoch in einigen Fällen die Migration einzelner Module<br />
werden. So kann zum Beispiel ein Wechsel des PHP Modules von PHP 4 auf PHP 5<br />
Probleme bereiten, das heißt dass unter PHP 4 entwickelte Scripte unter dem neuen<br />
Modul nicht immer fehlerfrei laufen und daher gegebenenfalls angepasst werden müssen.<br />
Analog gilt dies auch für unterschiedliche <strong>Version</strong>en von Scriptinterpretern, die zusammen<br />
mit den IIS eingesetzt werden. Eine generelle Aussage zu der Migration von<br />
Apache Modulen oder Erweiterungen der IIS lässt sich daraus jedoch nicht ableiten.<br />
Dies muss im Rahmen eines Migrationsprojekts im Einzelfall geprüft werden. Die Beispiele<br />
zeigen aber auch, dass auch bei einer fortführenden Migration nicht davon auszugehen<br />
ist, dass die Migration der dynamischen Inhalte ohne weiteres möglich ist.<br />
Für die Migration der IIS bietet Microsoft ein kommandozeilenbasiertes Tool an, mit dem<br />
sich sowohl Webseiteninhalte als auch Konfigurationsdaten migrieren lassen. Über dieses<br />
Tool lässt sich eine Migration der IIS teilweise deutlich vereinfachen. Insbesondere<br />
bei komplexen Systemumgebungen stößt das Tool jedoch an seine Grenzen, sodass<br />
keine vollständige Migration (zum Beispiel Migration von ODBC Verbindungen) möglich<br />
ist. Es muss daher vorab überprüft werden, inwieweit zusätzlich Aktivitäten notwendig<br />
sind, um die Migration abzuschließen. Stellt sich bei einer solchen Prüfung heraus, dass<br />
mehrere unterschiedlicher Migrationsprobleme durch das Tool nicht gelöst werden, kann<br />
es durchaus sinnvoller sein, eine Migration komplett ohne das Tool durchzuführen.<br />
3 Bezüge<br />
3.1 Dateiablage<br />
Webserver nutzen zum einen die Dateiablage, um ihre Daten dort abzulegen oder zu<br />
verwalten. Gegebenenfalls wird hierfür auch eine Datenbank im Backend verwendet.<br />
Zum anderen werden Webserver auch dazu eingesetzt, um Dateien auf Fileservern über<br />
Webbrowser im Internet oder Intranet, zum Beispiel mittels WebDAV zur Verfügung zu<br />
stellen. Damit besteht ein Bezug zu den Diensten der Dateiablage, bei Migrationen von<br />
Webservern sollten daher auch das (Kapitel II.E ) und hier vor allem die Technologiebetrachtungen<br />
mit den Abschnitten:<br />
� „Linux und Samba mit SMB/CIFS und POSIX―, II.E 1.1<br />
Seite 185
� „Linux-Server mit NFS―, II.E 1.2<br />
� „Linux-Server mit OpenAFS―, II.E 1.3<br />
� „Windows NT 4.0/2000/2003 mit NTFS―, II.E 1.4<br />
auf relevante Punkte geprüft werden.<br />
Bei großen Webseiten muss zusätzlich geprüft werden, auf welchen Datenbanken und<br />
Content Management Systemen die Inhalte gepflegt werden. Informationen zur Migration<br />
von Datenbanken befinden sich im gleichnamigen Kapitel.<br />
3.2 Netzwerkdienste<br />
Natürlich besteht auch immer ein Bezug zwischen dem Thema Webserver und dem<br />
Thema Netzwerkdienste. Auch hier ist im Rahmen von Migrationen zu prüfen, ob und<br />
wie die benötigten Netzwerkdienste bereitgestellt werden können und ob und wie die<br />
Anforderungen an die Kommunikationssicherheit gewährleistet werden können.<br />
Daher ist es sinnvoll im Zusammenhang mit Einführung oder Migration eines Webservers<br />
die Technologiebetrachtungen zum Thema „Netzwerkdienste― (Kapitel II.D 1) zu<br />
konsultieren.<br />
3.3 Authentifizierung<br />
Häufig soll auch der Zugang zum und der Zugriff auf den Webserver nicht völlig<br />
ungeregelt erfolgen, sodass Authentifizierungsdienste benötigt werden. Dabei macht es<br />
dann durchaus Sinn, Benutzer nicht mehrfach zu verwalten, sondern vorhandene<br />
Infrastrukturen z.B. die der zentralen Benutzerverwaltung zu nutzen. Damit stellt sich<br />
dann auch der Bezug her zu dem Thema Authentisierungs- und Verzeichnisdienst<br />
(Kapitel II.C) mit den Betrachtungen der Produkte und Technologien in den Abschnitten:<br />
� „Linux und Samba mit OpenLDAP und Kerberos (MIT/Heimdal)―, II.C 1.1<br />
� "Windows NT 4 Server als sogenannter Domänencontroller (DC)―, II.C 1.3<br />
� „Windows 2000/2003 Server mit Active Directory und Kerberos―, II.C 1.4<br />
3.4 Anwendungen<br />
Insbesondere, wenn Webserver nicht als reine Webserver zum Einsatz kommen (siehe<br />
Abschnitt II.B 1), spielt bei der Migration auch der Bezug zur Backendintegration (siehe<br />
Abschnitt III.D ) eine wichtige Rolle. Bei einem Wechsel muss sichergestellt werden,<br />
dass die Anforderungen der Anwendungen nach wie vor unterstützt beziehungsweise<br />
die Anwendungen gegebenenfalls angepasst werden müssen. Außerdem sollte mit Blick<br />
auf zukünftige Änderungen ein weitestgehendes Maß an Flexibilität und Unabhängigkeit<br />
gewahrt bleiben. Hierzu soll an dieser Stelle ganz besonders auf die Ausführungen und<br />
Hilfestellungen im Leitfaden „Plattformunabhängigkeit von Fachanwendungen― (siehe<br />
www.kbst.bund.de) als weitere Unterstützung für eine Migration hingewiesen werden.<br />
Seite 186
C Thema Authentisierungs- und Verzeichnisdienste<br />
Die Themen Authentisierung und Verzeichnisdienst sind kaum von einander zu trennen.<br />
Mit einem Verzeichnisdienst können beliebige Informationen netzwerkweit zur Verfügung<br />
gestellt werden. Ein Verzeichnisdienst besteht typischerweise aus einer Datenbank, in<br />
der diese Informationen gespeichert werden können, und einem Netzwerkprotokoll, mit<br />
dem die Informationen abgefragt oder geändert werden können. Das am häufigsten eingesetzte<br />
Verzeichnisdienstprotokoll ist das Lightweight Directory Access Protocol<br />
(LDAP). LDAP in der <strong>Version</strong> 3 wird im Kern im RFC 2251 definiert. Heute wird unter<br />
einem LDAP-Server in der Regel die Kombination aus Datenbank und Protokollimplementierung<br />
verstanden.<br />
Verzeichnisdienste eignen sich insbesondere für den schnellen lesenden Zugriff auf hierarchisch<br />
strukturierte Daten, die nicht regelmäßig geändert werden. Dabei lassen sich<br />
beliebige Informationen ablegen beziehungsweise über den Dienst im Netzwerk bereitstellen.<br />
Mit der Einführung eines Verzeichnisdienstes ist es möglich, die Benutzerkonten und die<br />
dazugehörigen Berechtigungen zentral im Verzeichnisdienst zu speichern und alle Systeme<br />
darauf zugreifen zu lassen. Gleichzeitig können Adressbuchanwendungen, wie sie<br />
beispielsweise in E-Mail-Software eingebaut sind, auf das Verzeichnis zugreifen und so<br />
die E-Mail-Adressen der Mitglieder der betreffenden Organisation bereit stellen, ohne<br />
dass diese Daten erneut manuell eingegeben werden müssen.<br />
Verzeichnisdienste können auch zur Speicherung von Passwörtern genutzt werden<br />
(Passwörter sind dann typischerweise ein Attribut von Personen- oder Benutzerkontenobjekten).<br />
Dadurch wird ebenfalls das Ziel der einmaligen, zentralen Datenhaltung verfolgt.<br />
Im Verzeichnis gespeicherte Passwörter werden an einer Stelle angelegt und geändert<br />
und können dann auf allen Systemen und mit allen Anwendungen genutzt werden,<br />
die das Verzeichnis zur Authentifizierung verwenden können. Außerdem können<br />
die im Verzeichnis gespeicherten Passwörter zur Authentifizierung beim Zugriff auf Daten<br />
im Verzeichnis selbst genutzt werden.<br />
Verzeichnisdienste werden daher an vielen Stellen, insbesondere im Zusammenhang<br />
mit Authentisierungsdiensten eingesetzt, zum Beispiel unter Windows mit Active Directory,<br />
unter Linux/Samba mit OpenLDAP oder in der Groupware Kolab mit OpenLDAP.<br />
Trotz dieser weit verbreiteten Praxis, Verzeichnisdienste zur Authentifizierung zu verwenden,<br />
muss dies als fragwürdige Strategie angesehen werden. Das Konzept erlaubt<br />
keine sichere Methode zur Implementierung von Single Sign-On, da an jedem System<br />
und jeder Anwendung erneut eine Authentifizierung stattfinden muss (wenngleich auch<br />
mit demselben Passwort). Außerdem sind die meisten Verzeichnisdienste nicht mit dem<br />
Ziel geschrieben worden, einen sicheren Authentifizierungsmechanismus bereit zu stellen,<br />
sondern häufig benötigte Informationen zentral zu speichern und schnell an Clients<br />
liefern zu können. Stattdessen empfiehlt sich der Einsatz von Kerberos. Kerberos ist ein<br />
Protokoll zur sicheren Authentisierung innerhalb offener Netze, die zum Beispiel auf dem<br />
TCP/IP Protokoll basieren.<br />
Bei der Verwendung von Kerberos werden nicht wie üblich, Benutzernamen und Passwort<br />
an jeden Server geschickt, dessen Dienste von einem Benutzer in Anspruch ge-<br />
Seite 187
nommen werden sollen. Vielmehr erfolgt hier eine einmalige Anmeldung an einem Key<br />
Distribution Center (KDC, gelegentlich auch als Kerberos Domänencontroller bezeichnet).<br />
Der Benutzer erhält nach erfolgter Anmeldung ein Ticket, das eine definierte Gültigkeitsdauer<br />
hat und mit dem er sich dann gegenüber allen weiteren Diensten authentifizieren<br />
kann. Nach Ablauf der Gültigkeit des Tickets muss sich der Benutzer erneut authentifizieren.<br />
Durch den Einsatz von Kerberos muss die Passwortdatenbank nur noch<br />
auf besonders vertrauenswürdigen Systemen (den Kerberos-Servern) vorhanden sein.<br />
Andere Systeme brauchen keinen Zugriff mehr auf die Passwortdatenbank. Mit Hilfe von<br />
Kerberos-Tickets kann außerdem Single Sign-On implementiert werden, indem Tickets<br />
zum Zugriff auf alle im Netzwerk bereitgestellten Dienste verwendet werden (sofern die<br />
entsprechenden Applikationen Kerberos unterstützen).<br />
Um ein feingranulares Rechtesystem zu realisieren, das definiert, welche Objekte und<br />
Attribute durch welche Benutzer gelesen oder geändert werden dürfen, implementieren<br />
die meisten Verzeichnisdienste ein System von Access Control Lists (ACLs), das mit den<br />
ACLs auf Dateisystemebene zu vergleichen ist.<br />
Vor diesem Hintergrund werden nachfolgend die in der Überschrift genannten Themen<br />
hier gemeinsam betrachtet.<br />
1 Produkte / Technologien<br />
1.1 Linux und Samba mit OpenLDAP und Kerberos (MIT/Heimdal)<br />
Samba ist eine freie Software, die das SMB-Protokoll (Server-Message-Block-Protokoll)<br />
und das CIFS (Common Internet File System) für Unix- und Linux-Systeme nutzbar<br />
macht. Das SMB-Protokoll und dessen Erweiterung CIFS sind Windows-Protokolle für<br />
u.a. Datei- und Druckdienste. Samba wurde erstmals 1992 veröffentlicht. Das Kernteam<br />
zur Entwicklung von Samba umfasst ca. 20 Personen, die von einigen Firmen unterstützt<br />
werden 160 . Samba liegt aktuell in der <strong>Version</strong> <strong>3.0</strong>26a vor. Gemäß der unter<br />
http://samba.sernet.de/ 161 veröffentlichten Erklärung des Samba-Teams werden alle<br />
<strong>Version</strong>en ab der <strong>Version</strong> 3.2 unter der GNU General Public License in der <strong>Version</strong> 3<br />
veröffentlicht. Demnach sollte die aktuelle <strong>Version</strong> noch unter GPLv2 stehen.<br />
OpenLDAP ist die Implementierung eines LDAP-Servers als Open Source Software 162 .<br />
Sie steht unter der OpenLDAP Public License V2.8.<br />
Kerberos 5 ist ein Protokoll zur sicheren Authentisierung innerhalb offener Netze, die<br />
zum Beispiel auf dem TCP/IP Protokoll basieren. Kerberos wurde am MIT (Massachusetts<br />
Institute of Technology) 163 entwickelt und ermöglicht auch die Realisierung von<br />
Single Sign-On, das heißt eine einmalige Anmeldung im Netz ist ausreichend, um alle<br />
Dienste und Programme, für die eine Berechtigung besteht, nutzen zu können. Die Spezifikation<br />
ist im RFC 4120 beschrieben. Eine freie, weit verbreitete Implementierung des<br />
160 http://www.samba.org<br />
161 Stand 01.11.2007<br />
162 http://www.openldap.org<br />
163 http://www.kerberos.org/<br />
Seite 188
Kerberosprotokolls ist die Heimdal-Implementierung 164 . Eine andere wichtige Open<br />
Source Implementierung ist die des MIT 165 .<br />
In den folgenden Abschnitten wird auf architektonische und funktionale Besonderheiten<br />
der drei Produkte OpenLDAP, Samba und Heimdal Kerberos unter dem Blickpunkt der<br />
Realisierung eines Authentisierungsdienstes eingegangen.<br />
1.1.1 OpenLDAP<br />
Die Software OpenLDAP setzt sich aus folgenden Modulen zusammen<br />
� slapd - der eigentliche LDAP-Server,<br />
� slurpd - der LDAP-Update-Replication-Daemon,<br />
� Bibliotheken zur Implementierung des LDAP-Protokolls und<br />
� weiterer Werkzeuge.<br />
Darüber hinaus setzt OpenLDAP standardmäßig als Datenbank-Backend die BerkleyDB<br />
ein 166 . Die nachfolgende Tabelle zeigt die Funktionen, die von OpenLDAP unter Linux<br />
unterstützt werden.<br />
Client ohne Zusatzsoftware<br />
Funktion<br />
Möglichkeit zum hierarchischen Aufbau des Verzeichnisses<br />
Erweiterbarkeit durch eigene Attribute und Objektklassen<br />
Unicode Zeichensatz für Verzeichnisdaten<br />
Zugriffsmöglichkeit auf das Verzeichnis per Standard-Protokoll (LDAP)<br />
Sichere Zugriffsmöglichkeit per LDAP über SSL/ TLS<br />
Unterstützung des „starttls― Protokolls<br />
Unterstützung für SASL<br />
Authentifizierung von NT Clients über Samba 167<br />
Authentifizierung von W2K Clients über Samba 168<br />
Authentifizierung von Linux Clients<br />
Möglichkeit zur Integration von Kerberos<br />
Möglichkeit zur Verwendung eines unabhängigen / übergeordneten Kerberos-Dienstes<br />
164 http://www.pdc.kth.se/heimdal/<br />
165 http://web.mit.edu/kerberos/www/<br />
166 http://www.oracle.com/technology/software/products/berkeley-db/index.html<br />
167 Bei der Verwendung von Samba zur Authentifizierung von Windows Clients gegen OpenL-<br />
DAP wird zwischen Windows-Client und Samba-Server das NT-LAN-Manager Protokoll<br />
verwendet.<br />
168 Bei der Verwendung von Samba zur Authentifizierung von Windows Clients gegen OpenL-<br />
DAP wird zwischen Windows-Client und Samba-Server das NT-LAN-Manager Protokoll<br />
verwendet.<br />
Seite 189
Funktion<br />
Verwaltung von Zugriffsrechten (ACLs) für Attribute und Objekte<br />
Delegation von Verwaltungsaufgaben<br />
Master-Slave-Replikation<br />
Multi-Master-Replikation 169<br />
Tabelle 39: Funktionen von OpenLDAP unter Linux<br />
Zur Verwaltung der in einem Verzeichnis gespeicherten Informationen stehen unter Linux<br />
die standardmäßigen Kommandozeilenbefehle zur Verfügung:<br />
� ldapsearch<br />
� ldapadd<br />
� ldapdelete<br />
� ldapmodify<br />
� ldapmodrdn<br />
Diese Kommandozeilenbefehle eignen sich vor allem zur Initialisierung eines Verzeichnisses,<br />
ferner zum Datenimport, zur schnellen Suche nach Verzeichnisinhalten sowie zur<br />
automatisierten Bearbeitung eines Verzeichnisses. Darüber hinaus gibt es zur Administration<br />
etliche freie grafische Werkzeuge zur verzeichnisbasierten Benutzer- und Gruppenverwaltung<br />
unter Linux, zum Beispiel GQ 170 -Browser. Ebenso wichtig und viel flexibler<br />
sind browserbasierte Werkzeuge zur Verwaltung von Benutzer-, Gruppen- und Maschinenkonten<br />
sowie anderen Objekten (Mailing-Listen, DNS-Einträgen usw.) innerhalb<br />
von Verzeichnisdiensten. Der Vorteil dieser Lösungen ist, dass sie mit einem Web-<br />
Browser unabhängig vom Server verwendet werden können, wobei eine sichere Datenübertragung<br />
(SSL/TLS), wie auch bei anderen Werkzeugen, genutzt werden kann. Häufig<br />
sind dies aber komplexere Werkzeuge für spezielle Aufgaben wie die Systemadministration,<br />
zum Beispiel Webmin 171 .<br />
Linux und OpenLDAP hat sich in sehr großen Umgebungen mit mehr als 70.000 Benutzern<br />
als stabil und hinreichend performant erwiesen. Mit OpenLDAP ist es daher möglich,<br />
große Verzeichnisse, wie zum Beispiel eine zentrale Benutzerdatenverwaltung, aufzubauen.<br />
Typisch für ein solches Verzeichnis ist die hierarchische Strukturierung der in ihm enthaltenen<br />
Informationen, ähnlich wie in einem Dateisystem. Diese Struktur des Verzeichnisses<br />
wird dabei durch das LDAP-Schema definiert. In diesem werden Objekt-Klassen<br />
169 Die Multi-Master-Replikation in OpenLDAP gilt als experimentell und ist standardmäßig<br />
nicht eingeschaltet.<br />
170 http://gq-project.org/<br />
171 http://de.wikipedia.org/wiki/Webmin<br />
Seite 190
(zum Beispiel Person oder Organisation) mit ihren Attributen festgelegt. Aus den definierten<br />
Objektklassen ergibt sich, zu welchen Attributen zwingend Werte anzugeben sind<br />
(Pflichtangaben). Die Verzeichniseinträge selbst heißen Objekte. Jedes Objekt ist mindestens<br />
einer, in der Regel aber mehreren Klassen zugeordnet. Innerhalb der Objekte<br />
werden zu den Attributen die Attributwerte abgelegt. In den Attributen sind somit die gesamten<br />
Informationen eines im Verzeichniseintrag genannten Informationsobjekts<br />
enthalten. Attribute unterscheiden sich in Attributtypen. Über diese wird u.a. festgelegt,<br />
welche Werte für ein Attribut zulässig sind.<br />
Die Einträge werden in einer hierarchischen Baumstruktur, dem Directory Information<br />
Tree (DIT), eingeordnet, der den gesamten Namensraum, der von einem Server vorgehaltenen<br />
wird, abbildet. Der Distinguished Name (DN) ist der eindeutige Name des Eintrags<br />
im gesamten Datenbestand.<br />
Als Netzwerkprotokoll verfügt LDAP über Befehle, die für das Datenmanagement (add,<br />
delete, modify, modify DN) und für das Retrieval (search) inklusive der Möglichkeit,<br />
komplexe Suchfilter aufzubauen, notwendig sind. Ebenso werden Befehle für die Authentisierung<br />
beziehungsweise das Anmelden (bind) und das Abmelden des Clients vom<br />
Server (unbind, abandon) spezifiziert. Die Anmeldung ist in ein bind request und ein bind<br />
response aufgeteilt. Der bind request enthält neben der LDAP-Protokollversionsnummer<br />
einen Distinguished Name eines Eintrags. Dieser Eintrag kennzeichnet die zu beweisende<br />
Identität, zum Beispiel einen Personeneintrag sowie die Authentisierungsmethode<br />
samt der zugehörigen Daten. Hierbei sind zwei Methoden definiert:<br />
Bei der Methode Simple Bind wird zusätzlich zum Distinguished Name ein Passwort mitgeschickt,<br />
das mit dem gespeicherten Passwort verglichen wird. Eine Verschlüsselung<br />
des zu übertragenden Passworts ist mit TLS möglich und spezifiziert.<br />
Die Methode SASL (Simple Authentication and Security Layer) Bind kapselt den Authentisierungsvorgang<br />
in eine eigene Schicht. Damit wird vermieden, für jedes Anwendungsprotokoll<br />
einen eigenen Authentisierungsmechanismus definieren zu müssen. Der am<br />
stärksten verbreitete SASL-Mechanismus ist GSSAPI (Generic Security Services Application<br />
Programming Interface). Die beiden wichtigsten GSSAPI-Mechanismen sind wiederum<br />
Kerberos V5 und X.509. Abhängig vom gewählten SASL-Mechanismus werden<br />
bei der LDAP-Authentisierung im bind request anstelle des Distinguished Name andere<br />
Identitätskennungen und Identitätsbeweise mitgeschickt. Damit lässt sich für OpenLDAP<br />
eine Authentifizierung mittels Kerberos 5 über SASL-GSSAPI realisieren.<br />
Zusätzlich zu einigen Authentisierungsmechanismen bietet SASL auch die Definition<br />
einer optionalen Verschlüsselung an.<br />
Die gesamte Kommunikation zwischen Client und Server kann mit TLS verschlüsselt<br />
werden, sodass sich Server und Client gegenseitig authentisieren können, wodurch zum<br />
Beispiel „man-in-the-middle―-Angriffe vermieden werden. Wie TLS zur Verschlüsselung<br />
der Kommunikation zwischen Client und Server verwendet werden soll, wird im RFC<br />
2830 172 beschrieben.<br />
172 http://www.faqs.org/rfcs/rfc2830.html<br />
Seite 191
Auch bei Login-Prozessen in Betriebssystemen kann auf zentrale, durch einen LDAP-<br />
Server vorgehaltene Benutzerdaten zugegriffen werden. Bei Unix-Systemen geschieht<br />
dies über die Verwendung von NSS (Name Service Switch) und PAM (Pluggable Authentication<br />
Modules). Bei Windows-Rechnern kann eine LDAP-basierte Benutzerverwaltung<br />
durch den Einsatz von Samba verwendet werden. Samba dient neben der Bereitstellung<br />
von Dateien und Druckern über das Netz auch der Authentisierung von Windows-Clients<br />
an einer Windows-Domäne. Samba verfügt über eine LDAP-Schnittstelle,<br />
sodass die Daten der Benutzerkonten für den Login-Prozess aus der zentralen LDAP-<br />
Benutzerverwaltung verwendet werden können 173 .<br />
Weitere Aufgaben eines Verzeichnisdienstes:<br />
Durch die zentrale Verwaltung zum Beispiel von Host-Informationen in einem Verzeichnis<br />
lassen sich zahlreiche administrative Aufgaben deutlich vereinfachen. Dazu gehören<br />
� Inventarisierung vorhandener Hardware,<br />
� Erstellung und Verwaltung von DNS-Namenseinträgen,<br />
� Erstellung und Verwaltung von DHCP-Konfigurationen,<br />
� gemeinsame Speicherung der Maschinen-Accounts mit den oben genannten Informationen<br />
(für Windows-Clients) und<br />
� Speicherung beliebiger weiterer host-spezifischer Informationen in einem Verzeichnis,<br />
wie beispielsweise Informationsprofile zur automatischen Installation eines<br />
Clients.<br />
Diese Informationen müssen nicht manuell oder über andere Verfahren auf mehrere<br />
Rechner verteilt werden, sondern werden per LDAP-Replikation anderen Systemen zur<br />
Verfügung gestellt. Durch eine verteilte Verzeichnis-Server-Struktur können zentral erfasste<br />
Informationen mittels Replikation auf die verschiedenen Server verteilt werden, an<br />
die die anderen Systeme angebunden sein müssen.<br />
Unter Linux stehen mittlerweile zahlreiche Programme zur Verfügung, mit denen Host-<br />
Informationen direkt aus einem LDAP-Verzeichnis gelesen werden können:<br />
� Für den Standard DHCP-Server (ISC DHCPD) gibt es einen Patch, mit dem die<br />
DHCP-Konfiguration aus einem LDAP-Verzeichnis gelesen werden kann<br />
(siehe: http://home.ntelos.net/~masneyb/dhcp-<strong>3.0</strong>.5-ldap-patch)<br />
� Für BIND 9 gibt es ebenfalls einen Patch, mit dem Zonendateien durch LDAP ersetzt<br />
werden (siehe: http://bind9-ldap.bayour.com/)<br />
� Samba kann Informationen für Maschinen-Accounts direkt aus dem LDAP-<br />
Verzeichnis beziehen<br />
Darüber hinaus gibt es eine Reihe proprietärer und freier Softwareprodukte, mit denen<br />
die BIND- und DHCP-Konfiguration transparent aus dem LDAP-Verzeichnis erzeugt<br />
werden kann.<br />
173 Gietz, P.: „Chancen und Risiken LDAP-basierter zentraler Authentifizierungssysteme―,<br />
http://www.daasi.de/pub/Chancen%20und%20Risiken%20durch%20LDAP-<br />
Authentifizierung.pdf<br />
Seite 192
Neben der Verwendung von Verzeichnisdiensten zur zentralen Speicherung von Benutzer-,<br />
Gruppen- und Host-Informationen steigt der Nutzen von Anwendungen durch den<br />
Zugriff möglichst vieler anderer Applikationen. Auf eine vollständige Liste LDAPkompatibler<br />
Anwendungen wird an dieser Stelle verzichtet. Wichtig ist jedoch der Hinweis,<br />
dass immer mehr Applikationen LDAP-Unterstützung aufweisen, nicht zuletzt die<br />
Microsoft E-Mail-Programme Outlook und Outlook-Express oder das Office-Paket OpenOffice.org.<br />
Diese Anwendungen können sowohl mit OpenLDAP als auch mit Active<br />
Directory als Verzeichnisdienst arbeiten.<br />
1.1.2 Samba<br />
Samba ist als Client-Server-System aufgebaut und besteht aus einer Vielzahl einzelner<br />
Module, die grundlegende Aufgaben bis hin zur Konfiguration und Dokumentation übernehmen.<br />
Da die Module auch ausgetauscht werden können, kann die Konfiguration zum<br />
Beispiel auch über eine Webschnittstelle erfolgen. Sambas Kernmodul heißt Smbd und<br />
stellt Datei- und Druckdienste für die SMB/CIFS-Clients zur Verfügung. Über Samba<br />
können Informationen für Maschinen-Accounts direkt aus dem LDAP-Verzeichnis bezogen<br />
werden.<br />
1.1.2.1 Authentifizierung mit Linux / OpenLDAP und Samba<br />
Samba kann Windows-Clients ähnliche Funktionalitäten wie ein Windows NT-basierter<br />
primärer Domänencontroller (also u.a. File-, Print- und Authentifizierungsservices) zur<br />
Verfügung stellen. Als Datenbank für Benutzerkonten kann Samba dabei auf OpenLDAP<br />
als Verzeichnisdienst zurückgreifen. Insofern stellt die Kombination Samba/OpenLDAP<br />
eine Art Mischform zwischen Windows NT-Domänen und Active Directory dar. Aus der<br />
Sicht von Windows-Clients handelt es sich um eine Windows NT-Domäne (die frühestens<br />
2008 erscheinende <strong>Version</strong> Samba 4 wird sich in Richtung der Windows Clients wie<br />
ein Active Directory Domänencontroller präsentieren). Hinsichtlich der Administration von<br />
Benutzer-, Gruppen- und Host-Informationen geht es jedoch um eine vollständig verzeichnisdienstbasierte<br />
Lösung mit allen daraus resultierenden Vorteilen. Insbesondere<br />
entfällt bei einer Samba/OpenLDAP-basierten Lösung das von Windows NT bekannte<br />
Skalierungsproblem, das oft die Aufteilung einer Infrastruktur in unterschiedliche Domänen<br />
erforderlich macht.<br />
Bei Verwendung von Linux/OpenLDAP als Verzeichnisdienst für Windows-Clients in<br />
Verbindung mit Samba findet die Authentifizierung der Windows-Clients über das NTLM-<br />
Protokoll statt. Darum müssen im Verzeichnis die gleichen verschlüsselten Passwörter<br />
gespeichert werden wie in der SAM-Datenbank unter Windows NT/2000/2003. Mit dieser<br />
qualitativen Einschränkung (keine Kerberos Authentifizierung für Windows 2000/XP<br />
Clients) ist es somit möglich, auf der Basis von Linux, OpenLDAP und Samba eine vollwertige<br />
Authentifizierung für Windows-Clients aufzubauen.<br />
Dabei scheint es zunächst problematisch zu sein, dass UNIX- und Linux standardmäßig<br />
einen anderen Algorithmus zur Passwort-Verschlüsselung verwenden als Windows<br />
NT/2000. Es ist deswegen bei einer OpenLDAP/Samba-basierten Lösung notwendig,<br />
UNIX- und Windows-Passwörter nebeneinander im LDAP-Verzeichnis zu speichern und<br />
miteinander zu synchronisieren. Aus technischer Sicht ist dies weniger problematisch,<br />
denn Samba kann so konfiguriert werden, dass es bei einer Passwort-Änderung vom<br />
Seite 193
Windows-Client aus auch das UNIX-Passwort ändert. Und umgekehrt können UNIX-<br />
Programme über den PAM- (Pluggable Authentication Module) Mechanismus so eingerichtet<br />
werden, dass sie auch das Windows-Passwort ändern, wenn das UNIX-Passwort<br />
gewechselt wird. Durch richtige Konfiguration stellt die Passwort-Synchronisation somit<br />
kein Problem dar.<br />
Samba <strong>3.0</strong>x unterstützt die von Windows NT bekannten Vertrauensstellungen. Diese<br />
können sowohl zwischen Windows- und Samba-Domänen als auch zwischen zwei Domänen,<br />
die beide auf Samba basieren, eingerichtet werden.<br />
1.1.2.2 Einschränkungen bei der Verwendung von OpenLDAP und Samba<br />
Wie bereits erwähnt, entspricht Samba aus der Sicht von Windows-Clients einem Server<br />
auf der Basis von Windows NT. Das bedeutet, dass die mit Active Directory neu eingeführten<br />
Eigenschaften zur Verwaltung von Windows Clients nicht zur Verfügung stehen.<br />
Insbesondere werden Group Policy Objects (GPOs) und die Softwareverteilung via Active<br />
Directory 174 nicht unterstützt. In der Praxis ist es oft völlig ausreichend, diese Features<br />
durch andere Techniken zu ersetzen.<br />
Samba unterstützt die sogenannten System Policies, mit denen sich Registry-Einstellung<br />
für Benutzer, Benutzergruppen und Client-Computer festlegen lassen. Über System-<br />
Policies kann ein Großteil der mit GPOs verfügbaren Einstellungen ebenfalls vorgenommen<br />
werden (Einschränkungen in der Funktion der Windows-Oberfläche, Auswahl<br />
ausführbarer Programme usw.). Die Systemrichtlinien können dynamisch mit dem in<br />
Samba integrierten Werkzeug „editreg― erstellt werden.<br />
Außerdem lassen sich in einer Samba-basierten Umgebung lokale Policies verwenden,<br />
mit denen prinzipiell dieselben Einstellungen vorgenommen werden können wie mit<br />
GPOs. Weil lokale Policies einfach im Dateisystem abgelegt werden, können diese leicht<br />
von einem Prototypen auf eine große Anzahl von Clients synchronisiert werden.<br />
1.1.2.3 Kombination von OpenLDAP und Active Directory<br />
Dort, wo auf die Features von Active Directory nicht verzichtet werden kann, ist es möglich,<br />
Benutzer- und Gruppendaten aus OpenLDAP in das Active-Directory zu replizieren.<br />
Benutzer und Gruppen müssen dann weiterhin nur im OpenLDAP-Verzeichnis gepflegt<br />
werden, stehen aber auch im Active Directory zur Verfügung. Auf diese Weise können<br />
die entsprechenden Eigenschaften (wie etwa GPOs) genutzt werden und der Single-<br />
Point-of-Administration bleibt erhalten. Dabei kann Windows so konfiguriert werden,<br />
dass für beide Teile der Umgebung ein gemeinsamer (Linux basierter) Kerberos-Server<br />
genutzt werden kann. Allerdings ist dies mit der Einschränkung verbunden, dass Windows<br />
95/98/NT basierte Systeme sich dann nicht mehr gegen Active Directory/Kerberos<br />
authentifizieren können. In einer solchen Konstruktion wird deswegen die Authentifizierung<br />
dieser Clients gegenüber Samba/OpenLDAP empfohlen.<br />
174 Softwareverteilung ist nicht Thema dieses Abschnitts und wird daher hier nicht weiter be-<br />
trachtet.<br />
Seite 194
1.1.3 Heimdal-Kerberos /MIT Kerberos 5<br />
Zunächst einige Ausführungen zum grundsätzlichen Funktionsprinzip von Kerberos: Bei<br />
einer kerberosgesicherten Kommunikation sind drei Parteien beteiligt:<br />
� Ein Client, der einen Dienst anfragt<br />
� Ein Server, der angefragt wird<br />
� Der Kerberos-Server, der die Berechtigungen vorhält und eine gesicherte Kommunikation<br />
ermöglicht<br />
Der Kerberos-Dienst authentisiert dabei sowohl den Client gegenüber dem Server als<br />
auch den Server gegenüber dem Client. Dabei muss sowohl auf dem anfragenden Client<br />
als auch auf dem angefragten Server eine Kerberos-Unterstützung installiert sein.<br />
Unter Kerberos sendet ein Client, in der Regel ein Nutzer oder ein Dienst, eine Ticketanfrage<br />
zum Key Distribution Center (KDC). Dieser generiert dann ein Ticket-Granting<br />
Ticket (TGT) für den Client und verschlüsselt dieses mit dem Passwort und/oder Smartcard<br />
des Clients und sendet es an den Client zurück. Der Client entschlüsselt das TGT<br />
mittels Passworts und/oder der Smartcard und behält das entschlüsselte TGT, das die<br />
Identität des Clients sicherstellt. Dieses zeitlich befristete TGT ermöglicht es dem Client,<br />
zusätzliche Tickets zu erlangen, die dem Client die Nutzung bestimmter Dienste erlauben.<br />
Der Prozess zum Erlangen eines zusätzlichen Tickets verläuft ohne weitere Aktivität<br />
des Nutzers. Der Client sendet das Ticket an den Dienst, der überprüft, ob er dem<br />
Client den Zugriff gestatten soll.<br />
Auf diese Art ermöglicht Kerberos eine authentisierte, optional über einen Sitzungsschlüssel<br />
auch verschlüsselte Kommunikation. Die Kerberos Tickets können dabei optional<br />
in einer Datei oder im Arbeitsspeicher des Clients gespeichert werden.<br />
Die Referenzimplementierung des Kerberosprotokolls ist die Implementierung des MIT.<br />
Die aktuelle <strong>Version</strong> 1.6.3 unterstützt die <strong>Version</strong>en 4 und 5 des Protokolls. Unterstützt<br />
werden die Standard-Kerberos-Verschlüsselungsverfahren, wie DES und 3DES, weiterhin<br />
werden RC4, das von Active Directory Kerberos genutzte Verfahren, sowie AES unterstützt.<br />
Prüfsummenverfahren, die zur Verfügung stehen, sind MD5, SHA-1, HMAC<br />
und CRC32. MIT Kerberos steht für Linux, Windows und Mac zur Verfügung.<br />
Heimdal-Kerberos ist eine neuere, freie Implementierung des Kerberosprotokolls für<br />
Unix, Linux und Mac, die aktuell in der <strong>Version</strong> 1.01 vorliegt 175 . Sie ähnelt der MIT-<br />
Implementierung stark. So werden zum Beispiel ebenfalls die Kerberos-<strong>Version</strong>en 4 und<br />
5 unterstützt sowie die gleichen Verschlüsselungsverfahren wie bei MIT Kerberos.<br />
Auf Basis dieser Mechanismen lässt sich mit Kerberos auch eine sogenannte starke<br />
Authentisierung realisieren. Eine starke Authentisierung erfordert neben dem Wissen<br />
bzgl. des Benutzernamens und des Passworts in der Regel zusätzlich den physischen<br />
Besitz eines Gegenstands, zum Beispiel eines Tokens, der systemabhängige Zahlen<br />
generiert, die zur Authentisierung eingegeben werden müssen. Die erforderliche Sicherheit<br />
ist dabei vom konkreten Anwendungsfall abhängig.<br />
175 Stand 01.11.2007<br />
Seite 195
Da sich der Kerberos-Server als Single-Point-of-Failure erweisen kann, nach dessen<br />
Ausfall sich zum Beispiel niemand anmelden kann, besteht die Möglichkeit, zusätzliche<br />
Kerberos-Server als Backup einzusetzen. Zudem besteht die Möglichkeit, mehrere Server<br />
zum Load-Balancing zu nutzen.<br />
1.1.4 Betriebssystemumgebungen von Samba und OpenLDAP<br />
Nachdem in den vorherigen Abschnitten die drei Produkte im Hinblick auf architektonische<br />
und funktionale Besonderheiten beschrieben wurden, wird im Folgenden näher auf<br />
mögliche Betriebssystemumgebungen von Samba und OpenLDAP eingegangen.<br />
Samba Server ab der <strong>Version</strong> <strong>3.0</strong> können als Mitgliedserver in einem Active Directory<br />
genutzt werden. Ohne den Nutzen von Microsoft Servern ist es nicht möglich, die Active<br />
Directory Funktionen über einen Samba Server anzubieten. Mit Samba in Kombination<br />
mit einem anderen Verzeichnisdienst, zum Beispiel OpenLDAP, lassen sich Funktionen<br />
wie sie Active Directory bietet, in einem Netzwerk abbilden.<br />
SMB/CIFS-Clients stehen auch für verschiedene Windows- und Unix-Varianten zur Verfügung.<br />
OpenLDAP läuft unter verschiedenen Unix- und Windows-Varianten sowie unter Mac OS<br />
X. Durch unterschiedliche Backend und Overlays lassen sich Erweiterungen, zum Beispiel<br />
zusätzliche Operationen, realisieren. So können zum Beispiel SQL-Abfragen in<br />
LDAP-konforme Informationen umgewandelt werden.<br />
Zusammenfassend ist festzustellen: Die Kombination von Samba und OpenLDAP stellt<br />
eine etablierte Verzeichnisdienstalternative in heterogenen Netzen dar. Die Migration auf<br />
die Kombination Samba/OpenLDAP kann für Benutzer und Clients relativ transparent<br />
geschehen, sodass diese von dem Wechsel unberührt in ihrer Arbeit bleiben und sich<br />
keine wesentlichen Änderungen für sie ergeben.<br />
Kerberos ist ein modernes und weit verbreitetes Protokoll. Es bietet sichere und einheitliche<br />
Authentisierung in einem ungesicherten TCP/IP Netzwerk aus sicheren Hostrechnern.<br />
Durch Kerberos werden gemäß DFN-CERT insbesondere Angriffe durch passives<br />
,,Sniffing'' unterbunden, aber auch ,,Spoofing'', ,,Dictionary Attacks'', ,,Replay'' und andere<br />
Angriffe werden erschwert. 176<br />
1.2 Fedora Directory Server (OSS-Lösung mit Multimasterfähigkeit)<br />
Der Fedora Verzeichnisserver wird durch das Fedora Projekt entwickelt, das u.a. durch<br />
eine freie Linux-Distribution bekannt ist. 177<br />
Der Fedora Verzeichnisserver ist 2005 aus dem Netscape Verzeichnisserver hervorgegangen.<br />
Er wird in der <strong>Version</strong> 1.0.4 angeboten, wobei sich die <strong>Version</strong> 1.1 bereits in der<br />
Testphase befindet.<br />
176 http://www.dfn-cert.de/infoserv/dib/dib-2002-02-Kerberos5/doc-single.html.<br />
177 http://fedoraproject.org; Fedora und Red Hat basieren auf derselben Softwarebasis und<br />
sind annähernd identisch. Unter dem Namen Red Hat werden seit 2003 kommerzielle Produkte,<br />
i.d.R. Software, an die ein Wartungsvertrag gebunden ist, für Firmenkunden vertrieben.<br />
Seite 196
Wichtige Änderungen gegenüber der Vorgängerversion sind die Synchronisation von<br />
Windows Usern (Active Directory User- und Gruppen-Synchronisation, Synchronisation<br />
über Samba), ferner eine verbesserte Rechtekontrolle, die Möglichkeit der Replikation in<br />
WANs (Wide Area Networks), die Möglichkeit der inkrementellen Replikation sowie<br />
vereinfachtes Ändern von Passwörtern und die Möglichkeit, die Replikation von<br />
Dateiverzeichnissen anzustoßen. Es ist zudem möglich, biometrische Daten und<br />
Smartcards einzubinden. Insbesondere besteht die Möglichkeit, mehrere Master-Server<br />
einzusetzen.<br />
Ein Großteil des Fedora Verzeichnisservers wird als freie Software (GPL Exception) im<br />
Rahmen diverser Community-Projekte, in der Regel in enger Kooperation mit dem Fedora<br />
Projekt, entwickelt. Darüber hinaus gibt es Erweiterungen wie eine Managementkonsole<br />
oder Module für den Apache Server, die unter anderen Open Source Lizenzen verfügbar<br />
sind. 178<br />
Bei Installation des Fedora Directory Server werden folgende Komponenten installiert:<br />
� Das Server Front End zur Verwaltung der Kommunikation mit den Clients via<br />
LDAP, die per SSL/TLS verschlüsselt werden kann<br />
� Plug-Ins für Serverdienste, wie zum Beispiel Access Control und Replikation,<br />
weitere Plug-Ins finden sich unter http://directory.fedoraproject.org/wiki/Plugins<br />
� Ein Verzeichnisbaum mit den serverbezogenen Informationen<br />
� Ein Datenbank-Plug-In zur Verwaltung der dauerhaft gespeicherten Information,<br />
zum Beispiel zum Aufrufen der Serverinformationen<br />
Der Fedora Verzeichnisserver ist ein LDAP basierter Verzeichnisdienst. Der Zugriff muss<br />
demnach über LDAP erfolgen. Er ist für folgende Betriebssysteme verfügbar:<br />
� Fedora Core 3-6 (x86 und x86_64)<br />
� Red Hat Enterprise Linux <strong>Version</strong> 3 (x86) und 4 (x86 und x86_64)<br />
� Solaris 2.8 und 2.9 (32 und 64 bit) (SPARC)<br />
� HP/UX 11(pa-risc und ia64)<br />
� weitere Linux-Distributionen (u.a. Debian, gentoo, ubuntu)<br />
Andere Betriebssysteme werden nicht offiziell unterstützt, der Server kann jedoch auch<br />
auf anderen Betriebssystemen laufen. 179<br />
Über eine vierwege Replikation der Master-Datenbank wird sichergestellt, dass unternehmensweit<br />
konsistente Daten für die Anwendungen im Unternehmen zur Verfügung<br />
gestellt werden. Das dahinter stehende Konzept wird Multi-Master-Replikation genannt.<br />
Im Gegensatz zur Master-Slave-Verfahren können Änderungen von Verzeichnisinhalten<br />
auf mehreren Servern durchführt werden, um Engpässe zu vermeiden. Eine vierwege<br />
Replikation bedeutet in diesem Fall, dass vier Master-Datenbanken existieren. Hierüber<br />
wird auch eine hohe Skalierbarkeit des Systems sichergestellt, die auch große Daten-<br />
178 Für nähere Informationen siehe http://directory.fedoraproject.org/wiki/Licensing.<br />
179 http://directory.fedoraproject.org/wiki/FAQ<br />
Seite 197
anken (>1 GB) unterstützt. Die vierwege Replikation der Masterdaten minimiert die<br />
Downtime des Verzeichnisdienstes für Wartungs- und Reparaturarbeiten.<br />
Der Fedora Verzeichnisserver hält insbesondere Informationen über Anwendungen, Anwendungseinstellungen,<br />
Benutzerprofile, Gruppendaten, Richtlinien und Zugriffskontrollinformationen<br />
(ACL; Access Control List) zentral in einem vom Betriebssystem unabhängigen<br />
und netzwerkbasierten Verzeichnis bereit. Eine Authentisierung kann über<br />
SASL, GSSAPI und Kerberos V 5 erfolgen. 180 Die Zugriffsrechte können dabei bis auf<br />
die Ebene der Attribute dediziert festgelegt werden. Wie bei allen Verzeichnisservern<br />
vereinfacht dies das Benutzermanagement, beseitigt die Datenredundanz und automatisiert<br />
die Datenpflege durch die Erzeugung eines zentralen Speichers für eine Identitätsmanagement-Infrastruktur.<br />
Er verbessert auch die Sicherheit, indem er Richtlinien und<br />
Zugangsinformationen speichert und eine Personalisierung ermöglicht.<br />
Weitgehende Kompatibilität besteht sowohl mit dem Sun ONE Directory Server als auch<br />
mit Netscape Verzeichnisserver-Varianten. So ist es beispielsweise möglich, Daten zwischen<br />
den Servern zu replizieren. Zu OpenLDAP und dem eDirectory von Novell besteht<br />
bis auf LDAP, wobei LDAPv2 und LDAPv3 unterstützt werden, keine Interoperabilität.<br />
Zusammenfassend lässt sich feststellen: Der Fedora Verzeichnisserver ist als Alternative<br />
zu OpenLDAP (im Zusammenhang mit Authentisierung) zu sehen. Hervorzuheben ist,<br />
dass Fedora multimasterfähig ist, das heißt, dass Daten im Verzeichnis auf mehreren<br />
Servern geändert werden können. Dadurch ist eine hohe Verfügbarkeit, zum Beispiel<br />
beim Ausfall eines Servers, gewährleistet und Engpässe bei vielen Änderungen können<br />
vermieden werden. Der Fedora Verzeichnisserver wurde als integrierte sichere Lösung<br />
auch für die HP/UX-11-Betriebssystemumgebung auf HP Integrity und HP 9000 Servern<br />
sowie Solaris-Systeme konzipiert. Der Produkteinsatz fokussiert sich in erster Linie auf<br />
große Installationen und zeichnet sich durch einen großen Funktionsumfang und sehr<br />
gute Skalierungsmöglichkeiten aus. Der Fedora Verzeichnisserver wird zudem hohen<br />
Sicherheitsanforderungen gerecht.<br />
1.3 Windows NT 4 Server als sogenannter Domänencontroller (DC)<br />
Mit Windows NT4 hat Microsoft 1996 ein leistungsfähiges Betriebssystem für Computernetze<br />
auf den Markt gebracht. Insbesondere durch die Verwendung eines neuen Dateisystems<br />
(NTFS; NT File System) wurde eine differenzierte Rechtevergabe möglich. Zusammen<br />
mit dem Domänenkonzept, das bereits mit der <strong>Version</strong> 3.1 eingeführt wurde<br />
und einen Sicherheitsbereich mit zentraler Verwaltung der Ressourcen darstellte, konnte<br />
nun festgelegt werden, welcher Benutzer sich mit welchem Passwort anmelden und auf<br />
welche Dateien und Dienste dieser in welcher Form zugreifen durfte. Die Client-Server-<br />
Architektur ermöglichte über eine Vielzahl grafischer Unterstützungswerkzeuge ein<br />
schnelles, differenziertes Aufsetzen und Erweitern von Computernetzen. Nicht zuletzt<br />
über die enge Verzahnung mit weiteren Microsoft Serverprodukten wurde NT ein großer<br />
kommerzieller Erfolg.<br />
Microsoft Windows NT kam bereits 1993 in der <strong>Version</strong> 3.1 auf den Markt. Erst im Jahr<br />
2000 wurde mit dem Nachfolger Windows 2000 das Kürzel NT aufgegeben. Microsoft<br />
180 http://directory.fedoraproject.org/wiki/SASL_GSSAPI_Kerberos_Design<br />
Seite 198
hat inzwischen den Support für NT eingestellt. Das heißt, dass das System herstellerseitig<br />
nicht mehr gepflegt wird und zum Beispiel neue Sicherheitslücken nicht mehr durch<br />
Updates geschlossen werden. Ein sicheres NT-System kann mittelfristig daher nur über<br />
kostspielige, individuelle Anpassungen gewährleistet werden. Trotz der Sicherheitsbedenken<br />
ist heute noch eine Vielzahl NT-basierter Netze im Einsatz.<br />
NT-Lizenzen werden zwar nicht mehr vertrieben, doch die zum Zeitpunkt des Kaufs gültigen<br />
Lizenzbedingungen sind nach wie vor gültig. Unterschiedliche Lizenzmodelle mit<br />
unterschiedlichen Kostenmodellen führen jedoch weiterhin zur Verwirrung und zu lizenzrechtlicher<br />
Unsicherheit.<br />
Kerntechnologie der Anmeldedienste unter Windows NT ist die Struktureinheit „Domäne―.<br />
Die Domäne ist eine Verwaltungseinheit, die Computer- und Benutzerkonten mittels<br />
einer gemeinsam genutzten Datenbank in einem gemeinsamen Sicherheitskontext zusammenfasst.<br />
Diese Datenbank wird als SAM (Security Accounts Manager) bezeichnet.<br />
Sie wird zur Laufzeit in der Registry spezieller Serversysteme gehalten, den Domain<br />
Controllern (DC). Neben Benutzer- und Computerobjekten werden auch Gruppen in der<br />
SAM administriert. Jede dieser drei Objekttypen lässt sich durch eine sogenannte SID<br />
(Security Identifier) eindeutig kennzeichnen, die sich auch in verschiedenen Domänen<br />
nicht wiederholen darf. Zu jeder SID (ein relativ langer Zahlenschlüssel) existiert ein<br />
SAM-Accountname, der in der Regel maximal 15 alphanumerische Zeichen umfassen<br />
kann. Der SAM-Accountname ist der Name, den die Anwender zur Identifikation verwenden.<br />
Eine Domäne benötigt mindestens einen Domain Controller, den sogenannten PDC<br />
(Primary Domain Controller). Er hält die SAM der Domäne, sodass die Inhalte der SAM<br />
nur bei ihm verändert werden können. Zur Lastverteilung und Redundanz der SAM werden<br />
sogenannte BDC (Backup Domain Controller) eingesetzt, die eine Kopie der SAM<br />
halten und die regelmäßig um die Änderungen auf dem PDC aktualisiert werden.<br />
Es ist möglich, mehrere Domänen über Vertrauensstellungen miteinander zu verknüpfen.<br />
Hierdurch können Benutzer oder Gruppen anderer Domänen für den Zugriff auf<br />
Ressourcen (zum Beispiel File Services) der eigenen Domäne autorisiert werden. Eine<br />
Vertrauensstellung zwischen NT Domänen ist nicht zwingend beidseitig (bidirektional).<br />
Vertrauensstellungen sind auch nicht transitiv: wenn A B vertraut und B der Domäne C,<br />
dann vertraut A nicht implizit auch C. Jede Vertrauensstellung muss also explizit eingerichtet<br />
werden.<br />
Folgende Umstände haben zur Etablierung mehrerer Domänen in IT-Umgebungen geführt:<br />
� Oftmals sind parallele Insellösungen innerhalb einer Infrastruktur entstanden, die<br />
später aufgrund von gemeinsamen Arbeitsprozessen mit Hilfe von Vertrauensstellungen<br />
zusammengeführt werden mussten. Dies gilt auch, wenn zwei Infrastrukturen<br />
zusammengeführt werden.<br />
� Die Domänengrenzen sind Grenzen der Sicherheit: Administratoren der Domäne<br />
A sind nicht automatisch Administratoren der Domäne B, der man vertraut oder<br />
die einem vertraut. Politische Überlegungen können hier eine Rolle spielen.<br />
Seite 199
� Die Komplexität der Delegation von Aufgaben wurde durch mehrere Domänen<br />
kompensiert.<br />
� Die Anzahl der Objekte (Computer, Benutzer, Gruppen) in der SAM ist beschränkt,<br />
da die SAM zur Laufzeit in der Registry der Domain Controller, deren<br />
Größe ebenfalls beschränkt ist, gehalten wird. Abhilfe konnte nur die Aufteilung<br />
der Objekte auf mehrere Domänen bringen.<br />
� Die Skalierung von einer Domäne in stark verteilten, dezentralen Umgebungen<br />
wird durch das Single-Master-Prinzip des PDCs eingeschränkt, da sämtliche Änderungen<br />
der SAM nur über ihn realisiert werden können.<br />
Dies hat zu verschiedenen Domänenmodellen geführt, die u.a. von Microsoft selbst vorgeschlagen<br />
wurden:<br />
� Single Domain (eine Domäne)<br />
� Master Domain (mehrere Domänen vertrauen alle einer Master Domäne, typischerweise<br />
vertrauen Ressourcendomänen der Account-Domäne)<br />
� Multiple Master Domain (mehrere Ressourcendomänen vertrauen allen (mehreren)<br />
Account-Domänen)<br />
� Complete Trust Domain (jede Domäne vertraut den anderen)<br />
Im weitesten Sinne sind Windows NT Domänen auch Verzeichnisdienste, denn in einer<br />
Domäne sind Benutzerobjekte verzeichnet. Microsoft bezeichnet diesen mit NTDS (Windows<br />
NT Directory Service). Die Anzahl der Attribute eines Benutzerobjektes in einer NT<br />
Domäne ist relativ klein und konzentriert sich auf technisch relevante Attribute und Eigenschaften.<br />
Die Attribute sind daher nicht vergleichbar mit dem Verzeichnisdienst basierend<br />
auf X.500.<br />
Die Benutzereigenschaften umfassen u.a.:<br />
� Benutzername (SAM-Accountname)<br />
� Kontoinformationen (zum Beispiel Konto deaktiviert, Kennwort läuft nie ab, Ablauf<br />
des Kontos, Kontotyp)<br />
� Gruppenmitgliedschaften<br />
� Umgebungsparameter (Logon-Script, Home-Verzeichnis, Pfad des servergestützten<br />
Profils)<br />
� erlaubte Anmeldezeiten, erlaubte Clientcomputer<br />
� RAS- (Remote Access Service)/ Einwahlparameter: erlaubt, mit/ ohne Rückruf<br />
Darüber hinaus werden Attribute gespeichert, die vom Betriebssystem verwaltet werden,<br />
wie zum Beispiel:<br />
� SID,<br />
� LastLoginTime<br />
� u.a.<br />
Seite 200
Eine Erweiterbarkeit um selbst definierte Attribute ist nicht vorgesehen. Microsoft selbst<br />
hat mit der Einführung von „Windows NT 4 Server Terminal Edition― und Citrix Metaframe<br />
zusätzliche Eigenschaften für das Benutzerobjekt implementiert (zusätzliche Home-<br />
und Profilpfade und weitere Citrix Parameter). Das NTDS kann nicht hierarchisch strukturiert<br />
werden. Die Vergabe von Rechten auf Attributebene ist nicht möglich. Eine flexible<br />
Vergabe von Rechten auf Benutzerobjekte ist stark eingeschränkt.<br />
Die Delegation von administrativen Aufgaben innerhalb einer NT-Domäne reduziert sich<br />
auf<br />
� die Nutzung der eingebauten (Built-In) Gruppen (Domänen-Administratoren, Konten-,<br />
Server-, Sicherungs- Druck- und Reproduktionsoperatoren) und<br />
� die Installation zusätzlicher Domänen.<br />
Diese Restriktionen haben wohl dazu geführt, dass die Delegation und bestehende Rollenkonzepte<br />
auf webbasierenden Anwendungen abgebildet wurden.<br />
Eine Windows NT Domäne kann auf den Transportprotokollen TCP/IP, NetBEUI,<br />
SPX/IPX basieren. In jedem Fall ist die NetBIOS Schnittstelle notwendig. In TCP/IP-<br />
Netzwerken ist für die fehlerfreie Kommunikation die Namensauflösung von NetBIOS-<br />
Namen (Computernamen, Benutzernamen, weitere Namenstypen wie zum Beispiel Arbeitsgruppe)<br />
zwingend erforderlich. Will zum Beispiel ein Benutzer sein Domänenkennwort<br />
ändern, muss er den PDC lokalisieren beziehungsweise seine IP-Adresse kennen.<br />
Die NetBIOS-Namensauflösung kann in Windows Netzwerken auf unterschiedliche Weisen<br />
erfolgen:<br />
� durch Broadcast<br />
� durch Befragung eines WINS Servers (Windows Internet Name Service)<br />
� durch Auswerten der Datei LMHOSTS<br />
Die eleganteste Lösung dieser Aufgabe ist der Einsatz von WINS-Servern (Windows<br />
Internet Name Service). Nur diese ermöglichen die Namensauflösung über IP-Subnetze<br />
hinweg, die Generierung dynamischer Inhalte und eine Minimierung der Broadcasts.<br />
Oftmals ist der WINS-Dienst auf den Domain Controllern realisiert.<br />
Zur Administration von Benutzerobjekten, Gruppen und Computern werden unter Windows<br />
NT vier grafische Bordmittel wie z.B. der Benutzermanager oder der Servermanager<br />
bereitgestellt. Darüber hinaus werden mit dem „NT Resource Kit― Tools geliefert, die<br />
überwiegend auf der Kommandozeile ausgeführt und mit deren Hilfe Skripte zur automatischen<br />
Administration erstellt werden können. Des Weiteren kann eine Domäne auch<br />
per Web-Interface verwaltet werden. Notwendig hierfür ist der Einsatz des Internet Information<br />
Servers (IIS) von Microsoft.<br />
Unter Windows NT wird die SAM selbst verschlüsselt. Die Kennwörter der Benutzer<br />
(auch der Computer) werden in der SAM der Domain Controller gespeichert. Dabei wird<br />
nicht das Kennwort im Klartext, sondern ein Hash-Wert des Kennworts gespeichert. Die<br />
Hash-Werte der Kennwörter werden nach verschiedenen Verfahren gebildet, die sich<br />
wie folgt weiter entwickelt haben:<br />
Seite 201
� LM (LAN Manager)<br />
� NTLM<br />
� NTLMv2<br />
Die Authentisierung innerhalb einer NT Domänenlandschaft basiert auf dem Mechanismus<br />
NTLM (NT LAN Manager). Es wird folgendes Szenario betrachtet: Eine Ressourcendomäne<br />
vertraut einer Account-Domäne. Eine funktionsfähige WINS-Umgebung ist<br />
vorhanden. Ein Benutzer startet eine Windows NT Workstation, die Mitglied der Ressourcendomänen<br />
ist, und meldet sich an der Account-Domäne an. Beim Starten der<br />
Windows NT Maschine erfragt diese per WINS eine Liste der Domain Controller (DC)<br />
der Ressourcendomäne. Zunächst wird per Broadcast ein Netlogon-Request gesendet.<br />
Wird dieser nicht von einem DC der Ressourcendomänen beantwortet, wird der Netlogon-Request<br />
an die DCs der erfragten Liste gesendet. Über einen sogenannten „Secure<br />
Channel― mit dem zuerst antwortenden DC erfolgt die Validierung der Anmeldeinformation.<br />
Die NT Maschine erfragt im Anschluss eine Liste der vertrauten Domänen vom DC<br />
der Ressourcendomänen. Nachdem der Benutzer in der Anmeldemaske die Account-<br />
Domäne ausgewählt sowie seine Kennung und sein Kennwort eingegeben hat, erfolgt<br />
der Anmeldeprozess des Benutzerkontos. Der NT Client sendet die Anmeldeinformationen<br />
zur sogenannten „pass-through validation― an den DC der Ressourcendomäne, mit<br />
dem die Maschine über einen Secure Channel verfügt. Der DC der Ressourcendomäne<br />
sendet diese Anfrage an einen DC der Account-Domäne (zunächst lokal, dann gerichtet<br />
über Secure Channel). Die validierten Anmeldeinformationen werden über den DC der<br />
Ressourcendomäne an den NT Client zurückgeliefert. Dieser öffnet nun eine direkte<br />
Verbindung zum DC der Account-Domäne, um dort das Logon-Script, Systemrichtlinien<br />
oder Benutzerprofil zu laden.<br />
Auf NT Systemen, die kein Domain Controller sind, werden die Anmeldeinformationen<br />
der zuletzt angemeldeten Benutzer zwischengespeichert, um die Anmeldung auch dann<br />
zu ermöglichen, wenn kein Domain Controller erreichbar ist (typischerweise Notebooks).<br />
Diese Informationen werden wiederum in einem Hash-Wert gespeichert.<br />
Das Domänenkonzept von Windows NT ermöglicht ein begrenztes Single Sign-On innerhalb<br />
der Microsoft Produktpalette. Der Anwender meldet sich einmalig an seiner Windows<br />
NT Workstation an und kann dann, sofern die Ressourcen beziehungsweise die<br />
Serversysteme Mitglied der eigenen oder einer vertrauenden Domäne sind, auf Dienste<br />
wie<br />
� File- und Print Services,<br />
� Exchange,<br />
� SQL und<br />
� Intranet (Web, Internet Information Server)<br />
zugreifen. Dritthersteller von Software können ihre Produkte so implementieren, dass die<br />
einmalige Anmeldung erhalten bleibt. In der Regel müssen sie aber ihre Anwendungen<br />
auf Windows NT 4 Servern bereitstellen, die Mitglied einer Domäne sind.<br />
In Windows NT Domänen können Richtlinien erlassen werden,<br />
Seite 202
� wie mit Kennwörtern umgegangen werden soll (Laufzeit, Mindestlänge, wiederholte,<br />
falsche Kennworteingabe) und<br />
� welche Privilegien (Benutzerrechte) Benutzer oder Gruppen haben sollen (Ändern<br />
der Systemzeit, lokale Anmeldung etc.).<br />
Weiterhin kann eine Überwachung der erfolgten Zugriffe beziehungsweise der Zugriffsversuche<br />
eingeschaltet werden. Auf diese Weise können zum Beispiel<br />
� das An- und Abmelden,<br />
� das Verwenden von Benutzerrechten,<br />
� die Benutzer- und Gruppenverwaltung und<br />
� Änderungen der Sicherheitsrichtlinien<br />
überwacht werden. Auswertungen hierüber sind mit Windows NT4 jedoch nur sehr aufwendig<br />
zu erstellen. Hierfür bietet Microsoft zusätzliche Tools wie zum Beispiel MOM.<br />
Allerdings war die Überwachung von NT4 Maschinen mit MOM nur sehr schwer bis gar<br />
nicht zu realisieren.<br />
Aufgrund des eingestellten Supports gelten die NT-Systeme als nicht mehr sicher.<br />
Computer auf der Basis Windows NT, Windows 2000 / 2003, Windows XP und Windows<br />
Vista können originär Mitglied einer Domäne sein, wobei auch andere Betriebssysteme<br />
eingebunden werden können. Linux basierte Clients können beispielsweise über Samba<br />
eingebunden werden.<br />
Fehlender Komfort der Bordmittel zur Administration von NT-Netzen hat Dritthersteller<br />
dazu veranlasst, weitere Werkzeuge zu entwerfen. Diese nutzen vorrangig die APIs von<br />
Windows NT. Microsoft selbst produzierte nachträglich die Microsoft Management Console<br />
(MMC), die schließlich in Windows 2000 integriert wurde. Mit ADSI (Active Directory<br />
Service Interface) hat Microsoft eine COM-basierende Schnittstelle geliefert, mit der<br />
auch Windows NT Domänen verwaltet werden können.<br />
Zusammenfassend muss festgehalten werden: NT-Systeme gelten heute als nicht mehr<br />
(ausreichend) sicher, sodass eine Ablösung zu empfehlen ist. Auch wenn NT-Systeme<br />
den funktionalen Anforderungen vielfach noch entsprechen, so überwiegen die Nachteile,<br />
die sich insbesondere aus Fragen zur Sicherheit ergeben. Aufgrund der noch weiten<br />
Verbreitung finden sich zwar problemlos noch aktuelle Virenscanner, aktuelle Treiber<br />
neuer Hardware und auch neue Anwendungen für NT 4, allerdings wurde das Auslaufen<br />
der Unterstützung für NT 4 schon mehrfach angekündigt.<br />
1.4 Windows 2000/2003 Server mit Active Directory und Kerberos<br />
Der Verzeichnisdienst von Microsoft Windows Server 2000 und 2003 heißt Active Directory.<br />
Er wurde mit Windows 2000 als dem Nachfolger von NT 4 eingeführt. Der Verzeichnisdienst<br />
stellt die zentrale Ressourcen-, Benutzer- und Gruppenverwaltung in<br />
Windowsnetzwerken dar. Er verwendet mit LDAP 181 und Kerberos 5 182 offene Standards.<br />
181 http://www.microsoft.com/windowsserver2003/techinfo/overview/ldapcomp.mspx<br />
182 http://www.microsoft.com/windowsserver2003/technologies/security/kerberos/default.mspx<br />
Seite 203
Mit der nächsten <strong>Version</strong> von NTFS wurde neben einer erneut verbesserten Komprimierung<br />
auch die Möglichkeit der Verschlüsselung von Daten über EFS (Encrypting File<br />
System) geboten. Die Schlüsselverwaltung findet über das Active Directory statt. In Windows<br />
2000 verfolgt Microsoft einen modularen Aufbau. Auf der untersten Ebene HAL<br />
(Hardware Abstraction Layer) setzt der eigentliche Betriebssystemkern auf, der die Basis<br />
für weitere Subsysteme wie Win32 oder POSIX bildet.<br />
Der Nachfolger von Windows 2000 Server heißt Windows Server 2003 und wurde insbesondere<br />
im Bereich der Sicherheit verbessert. Änderungen am Active Directory betreffen<br />
zum Beispiel die Vertrauensstellungen.<br />
Seit seiner Einführung mit Windows 2000 Server hat das Active Directory zahlreiche<br />
neue Funktionen bekommen. Diese wurden z.T. über das neue Server-Betriebssystem<br />
Windows Server 2003 sowie über Service Packs veröffentlicht.<br />
Die Server-Betriebssysteme und damit auch die Verzeichnis- und Authentisierungsdienste<br />
von Microsoft sehen sich einer starken Open-Source-Konkurrenz ausgesetzt. Laut<br />
einer IDC-Studie entfällt bei Hewlett-Packard bereits ein knappes Drittel der Umsätze auf<br />
Systeme auf Basis von Open Source Betriebssystemen. 183<br />
Das Active Directory ist Bestandteil der Windows Server 2000/2003 Lizenz. Windows<br />
2000 wird seit 2005 nicht mehr vertrieben. Bis 2010 werden noch Sicherheitsaktualisierungen<br />
geliefert. Diese werden sowohl für den eigentlichen Windowsserver 2003 in verschiedenen<br />
Editionen (Standard, Enterprise und Datacenter jeweils in einer 32- und einer<br />
64-Bit Architektur) als auch clientseitig für die Anzahl der User (User Client Access<br />
Licence) oder die Anzahl der Geräte (Device Client Access Licence) angeboten beziehungsweise<br />
verlangt. Des Weiteren werden spezielle Lizenzen für virtualisierte Server<br />
angeboten.<br />
Hardwareseitig unterstützt Windows 2000 Server in der Datacenter <strong>Version</strong> bis zu 8<br />
CPUs und kann max. 64 GB Arbeitsspeicher adressieren. Windows Server 2003 unterstützt<br />
bis zu 32 Prozessoren und kann ebenfalls max. 64 GB Arbeitsspeicher adressieren.<br />
Hinsichtlich der Anmeldedienste von Windows NT kann das Active Directory (AD) als<br />
korrespondierender Nachfolgedienst ab Windows 2000 bezeichnet werden. Kerntechnologie<br />
der Anmeldedienste im Active Directory bleibt wie unter Windows NT die Struktureinheit<br />
Domäne. Sie bleibt die Einheit, die die Computer- und Benutzerkonten mittels<br />
einer gemeinsam genutzten Datenbank in einem gemeinsamen Sicherheitskontext zusammenfasst.<br />
Die Domänengrenze ist die Grenze des Sicherheitskontextes und der<br />
Replikation der Benutzerdatenbank. Computer mit folgenden Betriebssystemen können<br />
der Domäne sein:<br />
� Windows NT 4.0<br />
� Windows 2000<br />
183 siehe Gengler, B.: „Linux-Server verdienen richtig Geld – Analysten sehen eine sich beschleunigende<br />
Nachfrage nach dem Opensource-Betriebssystem―,<br />
http://www.computerzeitung.de/loader?path=/articles/2007012/31018914_ha_CZ.html&art=<br />
/articles/2007012/31018914_ha_CZ.html&thes=&pid=ee54f3c7-0de1-40f5-bb23-<br />
2cfdf022aee5<br />
Seite 204
� Windows 2003<br />
� Windows XP<br />
� Windows Vista<br />
Erhalten bleibt auch der NetBIOS-Namensraum. Sollen Systeme wie Windows NT und<br />
9x unterstützt werden, ist es weiterhin notwendig, eine fehlerfreie NetBIOS Namensauflösung<br />
(zum Beispiel durch WINS) zu gewährleisten. Ob der Einsatz einer NetBIOS Namensauflösung<br />
erforderlich ist, wird nicht allein durch das Betriebssystem bestimmt,<br />
sondern in erster Linie durch das Gesamtsystem. So kann es zum Beispiel sein, dass<br />
auf dem Client Windows XP eingesetzt wird, der kein NetBIOS mehr benötigt, aber Applikationen<br />
auf dem Windows XP eingesetzt werden, die diese Namensauflösung sehr<br />
wohl noch erforderlich machen.<br />
Neben der Implementierung eines Active Directory stellen die Nutzung des Authentisierungsmechanismus<br />
„Kerberos― sowie einige Neuerungen bezüglich der (Domänen-)<br />
Strukturierung die Eckpunkte im Architekturwechsel dar.<br />
Im Folgenden wird zunächst auf die Nutzung des Authentisierungsmechanismus „Kerberos―<br />
in den neuen Windows Server Systemen eingegangen. Anschließend erfolgt ein<br />
weitgehend umfassender Überblick über die Technologie des Active Directory und abschließend<br />
werden die Neuerungen hinsichtlich der Strukturierung behandelt.<br />
Unter Windows 2000/2003 erfolgt die Authentisierung mittels des Authentisierungsmechanismus<br />
Kerberos, wobei NTLM weiterhin unterstützt wird. Clientsysteme wie Windows<br />
2000 oder XP nutzen standardmäßig das Kerberos Protokoll, um sich bei der AD<br />
Domäne zu authentisieren. Der Administrator kann hierbei unterscheiden, ob nur Kerberos<br />
erlaubt ist oder ob NTLM weiterhin für ältere oder Nicht-Microsoft-Betriebssysteme<br />
angeboten werden soll. Windows 2003 DCs kommunizieren ausschließlich über das<br />
Kerberos Protokoll.<br />
1.4.1 Kerberos<br />
Active Directory unterstützt eine Reihe sicherer Protokolle und Authentisierungsmechanismen,<br />
mit denen beim Anmelden die Identität nachgewiesen wird, so zum Beispiel<br />
Kerberos V5, X.509 v3-Zertifikate, Smartcards, Infrastruktur öffentlicher Schlüssel (Public<br />
Key Infrastructure, PKI) und LDAP (Lightweight Directory Access Protocol) mit SSL<br />
(Secure Sockets Layer). 184<br />
In Windows 2000/2003 ist Kerberos in der <strong>Version</strong> 5 mit Erweiterungen für die Authentisierung<br />
via öffentliche Schlüssel (public key) implementiert worden. Die Implementierung<br />
folgt Spezifikationen in den RFCs 1510 und 1964. Das Kerberos Key Distribution<br />
Center (KDC) ist auf jedem DC des Active Directory integriert und verwendet die Benutzerdatenbank<br />
des AD.<br />
Für das Kerberos Protokoll ist es notwendig, dass die Systemzeiten der beteiligten<br />
Computer nur geringe Abweichungen aufweisen, da die Authentisierung des Computers<br />
über ein sogenanntes Ticket gesteuert wird, dessen Gültigkeitsdauer auf 5 Minuten be-<br />
184 http://www.microsoft.com/technet/prodtechnol/windowsserver2003/de/library/ServerHelp/<br />
62355c36-a646-4bed-b462-dc8f23227447.mspx?mfr=true<br />
Seite 205
grenzt ist. Zu diesem Zweck ist in Windows 2003 ein automatischer hierarchischer Zeitabgleich<br />
zwischen den Computern, die Mitglied des AD sind, implementiert worden.<br />
Kerberos ist flexibler, effizienter und sicherer als die NTLM Authentisierung. Bei NTLM<br />
muss ein Applikationsserver immer den Domain Controller kontaktieren, um einen Client<br />
zu authentisieren. Erst danach erfolgt der Zugriff auf die jeweiligen Ressourcen. Mit dem<br />
Kerberos Protokoll kann der Applikationsserver die Anmeldeinformationen untersuchen,<br />
die ihm der Client präsentiert (Ticket). Unter NTLM können Server die Identität der<br />
Clients prüfen, mit Kerberos kann der Client auch die Identität des Servers prüfen (mutual<br />
authentication). Windows Dienste müssen den Client nachahmen (impersonate), um<br />
den Zugriff auf Ressourcen zu realisieren. NTLM und Kerberos können dem Dienst die<br />
Informationen liefern, um den Client lokal nachzuahmen.<br />
Die Authentisierung zwischen Domänen erfolgt über Vertrauensstellungen. Eine Vertrauensstellung<br />
ist eine Beziehung zwischen mindestens zwei Domänen, durch die Benutzer<br />
einer Domäne von einem Domänencontroller authentisiert werden können, der<br />
sich in einer anderen Domäne befindet. Vertrauensstellungen können transitiv oder nicht<br />
transitiv sein, müssen aber immer vorhanden sein, damit Benutzer in einer Domäne auf<br />
freigegebene Ressourcen einer anderen Domäne zugreifen können.<br />
Bei verteilten Applikationen mit Front- und BackEnd auf verschiedenen Rechnern scheitert<br />
NTLM, Kerberos hingegen bietet einen Proxy Mechanismus (delegated authentication).<br />
Kerberos kann transitive, bidirektionale Vertrauensstellungen zwischen Domänen<br />
realisieren.<br />
Das Kerberosprotokoll setzt sich aus drei Teilprotokollen zusammen. Das Teilprotokoll,<br />
über welches das Schlüsselverteilungscenter (Key Distribution Center, KDC) dem Client<br />
einen Anmeldesitzungsschlüssel und ein TGT (Ticket Granting Ticket) erteilt, wird als<br />
Authentisierungsdienst (Authentication Service Exchange, AS Exchange) bezeichnet.<br />
Das Teilprotokoll, über welches das KDC einen Dienstsitzungsschlüssel und ein Ticket<br />
für den Dienst erteilt, wird als Ticketdienst (Ticket Granting Service, TGS Exchange)<br />
bezeichnet. Das Teilprotokoll, über das der Client das Ticket für den Zugang zu einem<br />
Dienst sendet, wird als Client/Server-Dienst (CS Exchange) bezeichnet.<br />
1.4.2 Active Directory<br />
Active Directory ist ein Verzeichnisdienst, der sich an den X.500 Standard anlehnt und<br />
via LDAP (Lightweight Directory Access Protocol) administriert werden kann.<br />
Der Verzeichnisdienst verwendet einen Datenbanktyp, der ursprünglich für Microsoft<br />
Exchange (Extensible Storage Engine) entwickelt worden ist. Die Architektur der SAM<br />
Datenbank wird dadurch abgelöst. SAM wird jedoch für mögliche, NT basierende BDCs<br />
weiter bereitgehalten, solange das Active Directory nicht in den sogenannten „Native<br />
Mode― geschaltet wird.<br />
Das Active Directory speichert Informationen zu Netzwerkobjekten und stellt diese Informationen<br />
Benutzern und Administratoren über einfache Suchfunktionen zur Verfügung.<br />
Die Objekte im Active Directory beinhalten in der Regel freigegebene Ressourcen<br />
wie Server, Laufwerke, Drucker sowie Konten für Netzwerkbenutzer und Computer. Active<br />
Directory verwendet einen strukturierten Datenspeicher, der als Grundlage für die<br />
logische, hierarchische Anordnung von Verzeichnisinformationen dient.<br />
Seite 206
Active Directory enthält einen Regelsatz, das sogenannte Schema, welches im Verzeichnis<br />
enthaltene Objekt- und Attributklassen, die Einschränkungen und Begrenzungen<br />
für Instanzen dieser Objekte sowie ihr Namensformen definiert. Das Schema kann<br />
prinzipiell erweitert werden. Auch eine Erweiterung bestehender Klassen um neue Attribute<br />
ist möglich.<br />
Des Weiteren beinhaltet das AD einen globalen Katalog mit Informationen zu allen im<br />
Verzeichnis enthaltenen Objekten. Der Katalog ermöglicht Benutzern und Administratoren<br />
die Suche nach Verzeichnisinformationen unabhängig von der Domäne des Verzeichnisses,<br />
in dem die Daten enthalten sind.<br />
Mit Hilfe eines Abfrage- und Indizierungsmechanismus können Objekte und ihre Eigenschaften<br />
veröffentlicht und von Netzwerkbenutzern oder Anwendungen gesucht werden.<br />
Die Aufteilung des Active Directory beziehungsweise der Datenbank erfolgt über die<br />
Struktureinheit der Domäne. Eine Aufteilung innerhalb der Domäne im Sinne einer dezentralen<br />
Datenbank ist also nicht möglich.<br />
Die Replikation des Active Directory beziehungsweise der Datenbank erfolgt zwischen<br />
den Domain Controllern (DC) über einen Replikationsdienst. Sie erfolgt anhand sogenannter<br />
Unique Sequence Number (USN), die bis auf Attributebene herunter verwaltet<br />
werden. Die Replikation kann somit auf Attributebene erfolgen. Ändert sich also die Eigenschaft<br />
eines Objektes, wird lediglich die Änderung der Eigenschaft und nicht das<br />
komplette Objekt repliziert. Alle Domänencontroller verfügen über eine vollständige Kopie<br />
sämtlicher Verzeichnisinformationen für ihre Domäne.<br />
Jeder Domain Controller im Active Directory stellt einen LDAP-Dienst bereit. Es wird die<br />
LDAP <strong>Version</strong> 3 unterstützt. Mit Hilfe eines LDAP-Clients kann das Active Directory<br />
durchsucht oder administriert werden. Über den Distinguished Name kann das jeweilige<br />
Objekt gelesen und geschrieben werden. Die Angabe des LDAP-Servers ist bei einigen<br />
LDAP-Clients optional, sofern diese ein sogenanntes „serverless binding― beherrschen.<br />
Im Prinzip kann eine beliebige LDAP-Clientimplementierung, wie zum Beispiel OpenL-<br />
DAP beziehungsweise eine Programmierschnittstelle verwendet werden, wie zum Beispiel:<br />
� ADSI (Active Directory Services Interface )<br />
� LDIF (LDAP Data Interchange Format)<br />
� u.a.<br />
Problematisch gestaltet sich der Gebrauch dieser Schnittstellen insofern, als dass<br />
� gewisse Attribute oder Objekte vom Active Directory hoheitlich verwaltet werden<br />
und daher nicht geändert werden können (zum Beispiel die Attribute SID oder<br />
GUID),<br />
Seite 207
� gewisse Attribute aus Binär- oder Hash-Werten bestehen, deren Ent- und Verschlüsselungsalgorithmen<br />
nicht bekannt sind (zum Beispiel das Attribut userParameters)<br />
und nur über separate Schnittstellen außerhalb LDAP modifiziert werden<br />
können (zum Beispiel Windows Terminal Server API) und<br />
� die Verwendung der grafischen Oberfläche zusätzliche Prozesse neben dem reinen<br />
Schreiben der LDAP Attribute auslöst (zum Beispiel beim Festlegen eines<br />
Home-Verzeichnisses wird dieses auf dem File-Server mit den entsprechenden<br />
Rechten angelegt).<br />
Die Server-<strong>Version</strong> von Windows 2000/2003 wird mit zahlreichen grafischen Werkzeugen<br />
zur Verwaltung der in Active Directory standardmäßig abgelegten Informationen, wie<br />
Benutzer- und Gruppenkonten oder DNS-Konfiguration, ausgeliefert. U.a. wird hierzu die<br />
Microsoft Management Console (MMC) verwendet. Darüber hinaus stehen die aus Windows<br />
NT bekannten Werkzeuge für die Kommandozeile zur Verfügung, mit denen Benutzer<br />
und Gruppen angelegt, gelöscht und bearbeitet werden können. Über diese<br />
Werkzeuge lässt sich jedoch nur ein Teil der in Active Directory gespeicherten Kontoinformationen<br />
bearbeiten.<br />
Mit ldifde steht außerdem ein kommandozeilenbasiertes Programm zur Verfügung, mit<br />
dem sich Verzeichniseinträge aus einer LDIF- Datei (LDAP Data Interchange Format)<br />
erzeugen lassen.<br />
Insgesamt wenden sich die mit Windows 2000/2003 Server gelieferten Verwaltungswerkzeuge<br />
eher an erfahrene Windows-Administratoren. Sie eignen sich kaum dazu,<br />
einfache administrative Aufgaben, wie das Anlegen oder Verändern von Benutzerkonten<br />
an weniger ausgebildete Kräfte zu delegieren.<br />
Mit ADSI (Active Directory Service Interface) existiert eine COM-basierende Schnittstelle,<br />
mit der eine Vielzahl von Aufgaben automatisiert werden kann.<br />
1.4.3 Neuerungen hinsichtlich der Strukturierung<br />
Wie bereits erwähnt, bleibt die Struktureinheit Domäne als Grenze der Sicherheitszone<br />
auch in einem Active Directory erhalten. Im Active Directory ist die Domäne als ein Baustein<br />
einer Gesamtstruktur (forest) und der dazu gehörenden Baumstrukturen (tree) zu<br />
betrachten, die in einem DNS Namensraum hierarchisch gegliedert sind. Die einzelnen<br />
Domänen sind über sogenannte bidirektionale Transitive Kerberos-Trusts (Vertrauensstelllungen)<br />
miteinander verbunden. Diese müssen nicht mehr einzeln eingerichtet werden<br />
(Die aus Windows NT bekannten Vertrauensstellungen via NTLM können weiterhin<br />
eingesetzt werden). Mit einem Anmeldevorgang können Konten mit den erforderlichen<br />
Berechtigungen auf die Ressourcen beliebiger Domänen in der Gesamtstruktur zugreifen.<br />
Wird von einem Active Directory gesprochen, ist damit immer die Gesamtstruktur<br />
gemeint und nicht einzelne Bäume oder Domänen.<br />
Die folgende Abbildung zeigt eine Windows NT Domänenstruktur, in der zwei Account-<br />
Domänen und fünf Ressourcendomänen durch Vertrauensstellungen miteinander verwoben<br />
sind.<br />
Seite 208
Abbildung 25: Beispiel NT-Domänenstruktur<br />
Microsoft stellt Active Directory Domänen dreieckig, Windows NT Domänen mit Ellipsen<br />
dar. Diese Konvention wird für diesen Leitfaden übernommen.<br />
Somit ergibt sich folgendes Bild: In einem Active Directory wäre dementsprechend die<br />
folgende Gesamtstruktur denkbar, die ebenfalls sieben Domänen umfasst: Die Gesamtstruktur<br />
umfasst zwei Bäume, in denen die Domänen hierarchisch strukturiert und über<br />
Kerberos transitiv (A vertraut B und B vertraut C, dann vertraut A auch C) und bidirektional<br />
(A vertraut B, dann vertraut B auch A) miteinander verbunden sind.<br />
Abbildung 26: Beispiel Windows 2000<br />
Das Active Directory wird von Domain Controllern (DC) bereitgestellt. Die Unterscheidung<br />
zwischen PDC und BDC wird nicht weiter fortgeführt. Dies trägt der architektonischen<br />
Neuerung Rechnung, dass Windows 2000/2003 Domain Controller sich einem<br />
Multi-Master-Prinzip der Replikation unterwerfen, das heißt sämtliche Änderungen innerhalb<br />
des Active Directory können auf einem beliebigen DC durchgeführt werden. Bei<br />
dem Multi-Master Prinzip sind nicht alle Rollen innerhalb der Domäne auf alle DC verteilt.<br />
Zu diesem Zweck gibt es Domain Controller mit einer speziellen Rolle. Die sogenannten<br />
FSMO-Owner (Flexible Single Master Operation).<br />
Seite 209
Es handelt sich hierbei um:<br />
� PDC-Emulator<br />
� Infrastructure Master<br />
� RID Master<br />
� Schema Master<br />
� Domain Naming Master<br />
Die Funktionen<br />
� Schema Master (zuständig für das Schema des Verzeichnisses) und<br />
� Domain Naming Master (zuständig bei Änderungen im Namensraum)<br />
sind einmalige Rollen innerhalb einer Gesamtstruktur (forest).<br />
Die Funktionen<br />
� PDC-Emulator,<br />
� Infrastructure Master (zuständig für Aktualisierungen von SIDs und Distinguished<br />
Names über Domänengrenzen hinweg) und<br />
� RID Master (zuständig für die Vergabe von RID Pools an andere DCs)<br />
sind eindeutig in jeder Domäne.<br />
Der PDC-Emulator übernimmt wichtige Funktionen, wie<br />
� Kennwortaktualisierungen für Down-Level Clients (NT 4) und Partner der Windows<br />
NT Backup Domain Controller,<br />
� Quelle der Netzwerk-Uhrzeit (nur PDC der Stammdomäne) und<br />
� den Domänen Hauptsuchdienst (NetBIOS).<br />
Eine Gesamtstruktur kann zusätzlich durch Standorte (Sites) strukturiert werden. Die<br />
Sitestruktur sollte hierbei der physischen Netzwerkstruktur folgen und diese widerspiegeln<br />
sowie mit den verfügbaren Bandbreiten zwischen den Lokationen (zum Beispiel<br />
Hamburg, Berlin, Bonn etc.) korrespondieren. Primärer Zweck dieser Strukturierung ist<br />
die Steuerung der Replikation zwischen den Domain Controllern. Somit können die Replikationszeiten<br />
bei Bedarf der tatsächlich vorhandenen physischen Netzwerkstruktur angepasst<br />
werden.<br />
Die Implementierung eines Active Directory bedarf zwingend einer DNS-Infrastruktur, die<br />
nicht nur die Wahl eines Namensraumes, sondern auch die Verwendung geeigneter<br />
DNS Server notwendig macht. Dies impliziert natürlich eine existierende TCP/IP Netzwerkumgebung.<br />
Windows 2003 kann eine Public Key Infrastructure (PKI) als integralen Bestandteil einbinden.<br />
Zertifikatsdienste können über Windows Server 2003 eingerichtet und auf Windows<br />
XP Clients verteilt werden. Die PKI ist ein Netzwerkdienst, der Zertifikate erstellt<br />
und jederzeit zu deren Verifizierung genutzt werden kann. Die Validierung von Zertifikaten<br />
erfolgt über zentrale Verzeichnisdienste, in denen diese Informationen durch die Zertifikatsdienste<br />
abgelegt werden, sodass Clients diese zentrale Infrastruktur anfragen.<br />
Seite 210
Grundsätzlich werden Zertifikate zur Authentisierung, Verschlüsselung und Signierung<br />
verwendet.<br />
Anwendungsgebiete einer PKI können sein:<br />
� Sichere Authentisierung für Windows Anmeldung oder VPN-Einwahl<br />
� Verschlüsselung von Dateien oder E-Mails<br />
� Signierung von Dateien oder E-Mails<br />
� Sichere Kommunikation im Netzwerk (SSL, IPSec)<br />
Die Certification Authority (CA) kann sowohl ins Active Directory integriert als auch separat<br />
installiert werden. Wird die integrierte Variante gewählt, werden hiermit die Sicherheitstechnologien<br />
wie<br />
� EFS (Encrypted File System),<br />
� IPsec,<br />
� Smartcard,<br />
� Verschlüsselung und digitale Signaturen (Mail)<br />
� u.a.<br />
im internen Netzwerk unterstützt beziehungsweise ermöglicht. Die Verteilung beziehungsweise<br />
Aktivierung der PKI wird durch Gruppenrichtlinien unterstützt. Dies bedeutet<br />
aber nicht, dass ein separates Verwaltungskonzept für den Umgang mit Schlüsseln<br />
überflüssig wird.<br />
Active Directory nutzt PKI und Zertifizierung über Sicherheitsfunktionen wie die Authentisierung<br />
und den gesteuerten Zugriff auf Verzeichnisobjekte. Die integrierte Authentisierung<br />
für die Anmeldung und Autorisierung von Benutzern, die zentrale Funktionen der<br />
Local Security Authority (LSA) sind, stellt eine sichere Verzeichnisumgebung bereit. Dabei<br />
ist für den Benutzer nur eine einmalige Anmeldung notwendig, um Zugriff auf freigegebene<br />
Ressourcen im Netzwerk zu erhalten. Nachdem Active Directory die Identität<br />
des Benutzers bestätigt hat, generiert die lokale Sicherheitsautorität auf dem authentisierenden<br />
Domänencontroller ein Zugriffstoken, das die Zugriffsstufe dieses Benutzers für<br />
Netzwerkressourcen bestimmt.<br />
Das Windows Active Directory ist zwingend erforderlich für Exchange 2003, da dieses<br />
eine Erweiterung des Active Directory Schemas vornimmt und seine eigene Konfiguration<br />
speichert. Folgende Microsoft Produkte nutzen das Active Directory außerdem zur<br />
Speicherung ihrer Konfiguration:<br />
� HIS Server (Host Integration Server)<br />
� ISA Server (Internet Security and Acceleration) im Enterprise Mode<br />
Mit der Windows PowerShell wurde 2006 eine an die Unix-Shell angelehnte Methode zur<br />
Programmierung in Windows Server 2003 eingeführt, mit der auch Zugriffe auf das Active<br />
Directory realisiert werden können. Sie unterstützt einfache Befehle aber auch komplexe<br />
Skripte, die in der PowerShell Scripting Language verfasst sein können. Den Kern<br />
der PowerShell bilden Cmdlets. Das sind kleine Funktionseinheiten, die als .NET-<br />
Seite 211
Klassen implementiert sind. Die PowerShell ist ein flexibles Instrument, das den Zugriff<br />
auf WMI-Klassen (Windows Management Instrumentation), COM-Objekte (Component<br />
Object Model) und das .NET-Framework erlaubt.<br />
Mit ADSI (Active Directory Service Interface) existiert eine COM-basierende Schnittstelle,<br />
mit der eine Vielzahl von Aufgaben automatisiert werden kann.<br />
Mit Active-Directory-Client sind viele neue Funktionen auch mit älteren Windows Betriebssystemen,<br />
insbesondere NT 4, nutzbar und gewährleisten so in gewissem Ausmaß<br />
eine Abwärtskompatibilität. Dies sind u. a. Active Directory Service Interface, Active Directory<br />
Windows-Adressbuch und bestimmte Suchfunktionen.<br />
Zusammenfassend ist anzumerken: Das Active Directory ist ein leistungsfähiger LDAPbasierter<br />
Verzeichnisdienst, der Kerberos 5 unterstützt. Es bietet neben effizienten Abfragemöglichkeiten<br />
differenzierte Replikationsmöglichkeiten und ist auch in großen Netzen<br />
einsetzbar. Obwohl mit Möglichkeiten zur Anbindung microsoftfremder Betriebssysteme<br />
versehen, ist die gesamte Funktionalität nur mit Windows basierten Rechnern gegeben.<br />
2 Migrationspfade<br />
Die Migration des zentralen Authentisierungsdienstes ist im Wesentlichen durch die<br />
Überführung der Benutzer- und Gruppenkonten sowie im Zusammenspiel mit Windows<br />
auch immer der Maschinenkonten aus einer bestehenden IT-Infrastruktur in die<br />
vorgesehene neue IT-Infrastruktur für den Authentisierungsdienst geprägt. Dabei wird<br />
selten ein Authentisierungsdienst alleine, das heißt ohne die anderen Basisdienste einer<br />
IT-Infrastruktur, migriert werden. Bezüglich der IT-Infrastruktur hat sich in den letzten<br />
Jahren immer stärker die Integration von Verzeichnissen als wesentliches Element<br />
herausgeschält. Eine zunehmend wichtigere Rolle nimmt in solchen Authentisierungsinfrastrukturen<br />
die Single Sign-On (SSO) Infrastruktur auf Basis des Kerberos 5 Protokolls<br />
ein.<br />
Unter diesen Aspekten werden in den nächsten Abschnitten die folgenden Pfade für die<br />
Migration des Authentisierungsdienstes betrachtet:<br />
� Migration von Windows NT DC nach Linux mit OpenLDAP, Samba und Kerberos<br />
� Migration von Windows 2000 mit Active Directory nach Linux OpenLDAP, Samba<br />
und Kerberos<br />
� Migration von Linux und OpenLDAP, Samba und Kerberos nach Windows 2003<br />
mit Active Directory<br />
� Migration von Windows NT als DC auf Windows 2003 mit Active Directory<br />
Um eine Fehler- und Ausfallminimierung bei der Migration zu erreichen, sollte in der<br />
Vorbereitung der Migration eine Testmigration mit exemplarischen Beispielsystemen<br />
erfolgen. Hierbei sollten Probleme und Fehler, die durch spezifische organisatorische<br />
und technologische Bedingungen bei den manuellen Migrationsschritten entstehen können,<br />
untersucht und entsprechend dokumentiert werden.<br />
Seite 212
2.1 Migration von Windows NT DC nach Linux mit OpenLDAP, Samba und<br />
Kerberos<br />
Wie bereits in den Technologiebetrachtungen in den Kapiteln II.C 1.1 und II.E 1.1<br />
festgestellt wurde, stellt ein Linux-System in Kombination mit Samba eine gleichwertige<br />
Alternative zum Windows NT-Server dar. Durch die Hinzunahme des LDAP-<br />
Verzeichnisses „OpenLDAP― wird gegenüber der auf Windows NT 4.0 Server<br />
basierenden Authentisierungsinfrastruktur bereits ein erheblicher Mehrwert geschaffen,<br />
da hiermit u.a. eine deutlich bessere und umfassendere Abbildung der eigenen<br />
Organisation und die Abbildung von zum Beispiel Zugriffsrechten auf diese möglich ist.<br />
Dieser Pfad wird im <strong>Migrationsleitfaden</strong> auch weiterhin betrachtet, da es noch viele Behörden<br />
gibt, die IT-Infrastrukturen betreiben, die auf Windows NT 4.0 Server basieren.<br />
2.1.1 Funktionaler Vergleich<br />
Windows NT nutzt als Verwaltungs- und Struktureinheit den Begriff Domäne. In den Domänencontrollern<br />
werden Maschinen- und Benutzerkonten und ihre zugehörigen Attribute<br />
im Security Accounts Manager (SAM) gespeichert. Dies geschieht in Form von eingeschränkten<br />
Verwaltungsdiensten (Registries). Die festgelegte Struktur der Attribute und<br />
die beschränkte Skalierbarkeit stellen eine Einschränkung der Nutzbarkeit dar.<br />
Die Nutzung von Linux in Kombination mit Samba und OpenLDAP ermöglicht es, mit<br />
quelloffener Software die Funktionalität von Domänen Controllern nachzubilden. Samba<br />
besitzt eine LDAP-Schnittstelle und kann damit auf OpenLDAP als Datenbank für Benutzer-<br />
und Maschinenkonten zurückgreifen. Somit kann eine echte Verzeichnisdienst basierte<br />
Lösung zur Administration von Benutzer-, Gruppen- und Hostinformationen realisiert<br />
werden.<br />
Samba unterstützt aus Sicht der Windows-Clients das Konzept von PDCs (Primary Domain<br />
Controller) und BDCs (Backup Domain Controller). Ebenso ist es möglich, mit<br />
Samba einen WINS-Service zu realisieren. Die serverseitige Replikation der SAM-<br />
Datenbank zwischen PDC und BDC wird von Samba selbst nicht unterstützt. Dies wird<br />
jedoch durch die Replikation der LDAP-Verzeichnisse realisiert. Die Authentifizierung<br />
erfolgt in Samba über das NTLM-Protokoll (analog zu Windows NT). Sollen Linux Clients<br />
in die neue Infrastruktur integriert werden, so kann die Authentisierung auf diesen über<br />
verschiedene Möglichkeiten realisiert werden, zum Beispiel mit Hilfe des PAM-Moduls<br />
„pam_ldap― 185 über das LDAPv3 Protokoll direkt gegenüber dem LDAP-Verzeichnis oder<br />
mit einen Samba Client gegenüber dem Samba DC.<br />
Eine Kerberos-Authentisierung von Windows Clients, wie sie gegenüber Windows 2000<br />
Server möglich ist, ist gegenüber Samba nicht möglich. Allerdings lässt sich in einer<br />
Umgebung mit Linux, Samba und OpenLDAP ein Kerberos basiertes SSO, zum Beispiel<br />
mit Hilfe der MIT- oder Heimdal-Implementierung des Kerberos 5 Protokolls realisieren<br />
(siehe Kapitel II.C 1.1), sodass eine Authentisierung auch mit Windows Clients gegenüber<br />
dieser möglich ist.<br />
Durch die modulare Bauweise der Samba-Software gibt es verschiedene Wege, den<br />
Samba Domänen Controller (DC) zu administrieren. Neben der Konfiguration per Kom-<br />
185 http://www.kernel.org/pub/linux/libs/pam/<br />
Seite 213
mandozeile existiert für Samba ein webbasiertes Tool namens SWAT (Samba Web Administration<br />
Tool) zur Administration. Eine weitere empfehlenswerte Option ist der Einsatz<br />
der Software Webmin. Bei Webmin handelt es sich um eine freie webbasierte Software,<br />
die Schnittstellen für die Konfiguration und Überwachung einer Vielzahl von Unix<br />
basierten Diensten bereitstellt. Es gibt Webmin-Module u.a. für die Administration von<br />
Samba, OpenLDAP und Kerberos.<br />
Darüber hinaus lassen sich Benutzerkonten und Server wie gewohnt mit den Windows-<br />
Tools administrieren.<br />
2.1.2 Migrationspfad<br />
Die Migration eines Windows NT 4.0 Server DC auf ein Linux-System mit Samba und<br />
OpenLDAP ist grundsätzlich machbar und kann für die Nutzer transparent vorgenommen<br />
werden. Im Folgenden werden die wichtigsten Schritte beschrieben und einige Hinweise<br />
für die Durchführung gegeben.<br />
Zunächst einmal sollten die neuen Domänen Controller aufgebaut werden. Dazu sind<br />
neben der gewählten Linux-Distribution auch die Komponenten Samba, OpenLDAP zu<br />
implementieren. Bei der Einführung einer SSO Lösung, sofern eine solche Lösung aufgebaut<br />
werden soll, muss entweder die MIT- oder die Heimdal-Implementierung des<br />
Kerberos 5 Protokolls installiert werden.<br />
Für die spätere Benutzer-, Gruppen und Rechnerverwaltung im LDAP-Verzeichnis ist es<br />
hilfreich, wenn die Smbldap-Tools verfügbar sind. Diese Tools werden u.a. auch von<br />
Samba selbst verwendet, sofern Benutzerkonten mit Windows Tools verwaltet werden.<br />
2.1.2.1 Definition und Implementierung des Verzeichnisbaumes<br />
Der Aufbau eines Verzeichnisdienstes auf Basis von OpenLDAP ist vor allem geprägt<br />
von der Definition und der Implementierung des Verzeichnisbaumes. Hier ist es besonders<br />
wichtig, dass insbesondere klare Vorstellungen über den prinzipiellen Aufbau der<br />
Gesamtstruktur des Verzeichnisbaumes bestehen. Der Vorteil in einer Linux-OSSbasierten<br />
Umgebung ist, dass diese den Bedürfnissen entsprechend relativ frei definiert<br />
werden kann. Aus Sicht der Authentisierung gegenüber Samba ist es vor allem wichtig,<br />
dass das entsprechende zu Samba gehörende Schema integriert wird. Die nötigen Informationen<br />
über die Struktur und den Aufbau der Nutzer-, Gruppen- und Maschinenobjekte<br />
werden mit der vom Samba-Paket zur Verfügung gestellten Datei „samba.schema―<br />
bereitgestellt.<br />
2.1.2.2 Samba-Konfiguration<br />
Bezüglich der Sambakonfiguration ist anzumerken, dass in der Konfigurationsdatei<br />
/etc/smb.conf festgelegt wird, dass OpenLDAP als Backend zu verwenden ist. Darüber<br />
hinaus werden hier auch die notwendigen Einstellungen vorgenommen, die während der<br />
konkreten Migrationsphase vorzunehmen sind. Sie erfolgen gemäß nachfolgender Beschreibung.<br />
2.1.2.3 Migration der SAM-Datenbank<br />
Die Migration der SAM-Datenbank, das heißt die Überführung der Benutzer-, Gruppen-<br />
und Maschinenkonten mit den Credentials (Kennung und Passwort) vom bestehenden<br />
Seite 214
Windows DC zum neuen Samba DC, ist der wesentliche Schritt bei der Migration. Dieser<br />
sollte in einer weitgehend gesicherten Umgebung erfolgen. Es sollte somit sichergestellt<br />
sein, dass in dieser Phase nach Möglichkeit keine größeren Änderungen an der SAM<br />
vorgenommen werden. Warum dies sinnvoll ist, verdeutlichen die folgenden Details:<br />
� Nachdem der zukünftige Samba PDC erfolgreich eingerichtet, wurde muss dieser<br />
zunächst als Backup Domänen Controller (BDC) konfiguriert (/etc/smb.conf: „domain<br />
master = no―) und in die bestehende Windows NT Domäne als solcher integriert<br />
werden (net rpc join -U administrator –S %domain).<br />
� Anschließend können die Inhalte der SAM-Datenbank mit dem Befehl<br />
„net rpc vampire –S %domain―<br />
in das OpenLDAP-Verzeichnis überführt werden.<br />
� Nach dieser Übertragung werden weitere Änderungen im Windows NT PDC<br />
(zum Beispiel eine Passwortänderung durch einen Benutzer) nicht mehr in den<br />
Samba-BDC übernommen, daher sollte umgehend der Austausch vorgenommen<br />
werden.<br />
� Abschließend wird der Samba BDC zum Samba PDC umkonfiguriert.<br />
2.1.3 Einführung von Kerberos<br />
Da Windows NT 4.0 Server weder SSO noch das Kerberos 5 Protokoll unterstützt, handelt<br />
es sich hierbei um keine Migration. Die Einführung einer SSO-Lösung beziehungsweise<br />
einer Authentisierung auf Basis des Kerberos 5 Protokolls entspricht einem Neuaufbau<br />
der benötigten IT-Infrastruktur. Die entsprechenden Möglichkeiten sind in den<br />
Technologiebetrachtungen im Kapitel II.C 1.1 dargelegt.<br />
2.1.4 Fazit / Empfehlung<br />
Die Migration von Windows NT 4.0 Server DC auf ein Linux basiertes System unter Nutzung<br />
von Samba, OpenLDAP kann mit Hilfe der beschriebenen Tools und Verfahren auf<br />
eine transparente Art und Weise erfolgen. Funktional bietet das neue System alle Eigenschaften<br />
des Windows NT DC und bietet mit der Einführung eines LDAPv3 basierten<br />
Verzeichnisdienstes einen deutlichen Mehrwert sowie Verbesserungen hinsichtlich Skalierbarkeit<br />
und Performance. Eine Migration kann daher empfohlen werden. Die Möglichkeit,<br />
nunmehr auf Basis des Kerberos 5 Protokolls auch eine sicherere Authentisierung<br />
und ein SSO zu realisieren, stellt einen weiteren Mehrwert dar.<br />
2.2 Migration von Windows 2000 mit Active Directory nach Linux OpenLDAP,<br />
Samba und Kerberos<br />
Die Ablösung von Windows 2000 mit Active Directory durch ein Linux basiertes System<br />
ist grundsätzlich möglich, jedoch funktionieren einige Teile anschließend etwas anders<br />
als vorher. Mit der aktuell stabilen <strong>Version</strong> von Samba kann eine Windows 2000 Server /<br />
Active Directory Architektur nicht vollständig nachgebaut werden. Wo die Unterschiede<br />
hinsichtlich der Authentisierung liegen, wird nachfolgend im Rahmen der Betrachtung<br />
des Migrationspfades erläutert.<br />
Seite 215
Die Wahl von Windows 2000 Server als Ausgangssituation wurde gewählt, da eine Migration<br />
von Windows Server 2003 heute eher als eine Ausnahmeoption angesehen wird.<br />
Behörden, die aktuell oder in jüngster Zeit auf Windows 2003 Server gewechselt haben,<br />
werden schon aus wirtschaftlichen Gründen und aus Gründen des Investitionsschutzes<br />
gegenwärtig kaum eine erneute Migration durchführen.<br />
2.2.1 Funktionaler Vergleich<br />
Im Active Directory werden Information über Nutzer, Gruppen, Maschinen, Freigaben,<br />
Dienste und Geräte als Objekte gespeichert.<br />
Die Authentifizierung von Benutzern und Maschinen wird über Kerberos realisiert. Dabei<br />
wird eine Microsoft eigene Implementierung des Kerberos 5 Protokolls mit proprietären<br />
Erweiterungen eingesetzt.<br />
Mit Hilfe eines Linux-Systems in Kombination mit Samba 3.x, OpenLDAP 2.4.x und einer<br />
offenen Implementierung des Kerberos 5 Protokolls (Heimdal oder MIT) lassen sich die<br />
wesentlichen Funktionen der Windows 2000 Server / Active Directory Kombination hinsichtlich<br />
der Authentisierung abbilden.<br />
Der kritische Punkt für eine Migrationsentscheidung sind die Lock-In Szenarien. Somit<br />
muss die Frage geklärt werden, ob es Dienste und Anwendungen gibt, welche die proprietären<br />
Schnittstellen des Active Directory verwenden und mit welchem Aufwand und<br />
innerhalb welchen Zeitraumes sich diese Abhängigkeiten auflösen lassen. Die ersten<br />
Dienste und Anwendungen, die in diesem Zusammenhang regelmäßig eine Rolle spielen,<br />
sind Exchange 2003, MS SQL Server und in Zukunft auch verstärkt die verschiedenen<br />
<strong>Version</strong>en der SharePoint Server.<br />
Lassen sich diese Lock-In Szenarien nicht unter wirtschaftlichen Grundsätzen auflösen,<br />
dann wird eine positive Entscheidung für den hier betrachteten Migrationspfad eher<br />
schwierig. Dies wird, soweit heute absehbar, auch für die neueren <strong>Version</strong>en der Windows<br />
Server Systeme so sein.<br />
Ob eine <strong>Version</strong> 4 von Samba, die sich derzeit in Entwicklung befindet, eine Abhilfe<br />
schaffen kann, ist heute noch nicht absehbar und soll daher hier vorerst auch nicht weiter<br />
thematisiert werden.<br />
2.2.2 Migrationspfad<br />
Nachfolgend wird nun die Ablösung einer Windows 2000 Server Authentisierungsinfrastruktur<br />
mit Active Directory und Kerberos betrachtet. Der wesentliche Schritt dabei ist, wie<br />
eingangs bereits erwähnt, die Überführung der Benutzer- Gruppen- und Maschinenkonten<br />
sowie der entsprechenden Credentials. Im Gegensatz zum älteren Migrationspfad<br />
von Windows NT 4.0 Server nach Linux in Kombination mit Samba und OpenLDAP<br />
muss hier zusätzlich geprüft werden, inwieweit eine Überführung der Kerberos-<br />
Authentisierungsinfrastruktur unter Windows 2000 Server machbar ist beziehungsweise<br />
wie ein Migration durchgeführt werden kann.<br />
Genau wie bei einer Ausgangslage, die auf Windows NT 4.0 Server basiert, müssen<br />
zunächst die entsprechenden Domänencontroller mit Linux, Samba und OpenLDAP aufgebaut<br />
werden (siehe KapitelII.C 2.1.2 II.C 2.1.2).<br />
Seite 216
Ebenso muss genau analysiert werden, wie die zukünftige Verzeichnisstruktur aussehen<br />
soll. Sicherlich ist es dabei nicht unerheblich, dass eine Ablösung des AD vorgesehen<br />
ist.<br />
2.2.2.1 Migration der Benutzer- und Maschinenkonten<br />
Nach erfolgreicher Implementierung der DCs und des LDAPv3 basierten Verzeichnisdienstes<br />
besteht die Möglichkeit, die notwendigen Benutzer-, Gruppen- und Maschineninformationen<br />
per LDAP aus dem AD zu holen. Dabei muss beachtet werden, dass es<br />
Unterschiede, vor allem in der Bezeichnung der Attribute im AD und im OpenLDAP-<br />
Verzeichnis gibt. Diese müssen durch ein entsprechendes Mapping genau zugeordnet<br />
werden.<br />
Das grundlegende Problem bei der Übernahme dieser Informationen ist, dass die Credentials<br />
aus dem AD nicht ohne weiteres mit übernommen werden können, da diese<br />
durch die Kerberos-Implementierung verschlüsselt abgelegt werden. Es bestehen zwei<br />
Möglichkeiten, diesem Problem zu begegnen. Eine der beiden Möglichkeiten kann wohl<br />
als eine eher theoretische Möglichkeit angesehen werden, da sie einer längerfristigen<br />
Vorbereitung bedarf und als relativ komplex angesehen werden kann. Dabei werden die<br />
Credentials mittels einer Dynamic Link Library (DLL) auf einem AD Server immer dann<br />
abgefangen, wenn diese durch einen Benutzer verändert werden, und in das OpenLDAP<br />
Verzeichnis übertragen. Sollte ein Benutzer in der Zeit, in der diese Aktion durchgeführt<br />
wird, keine Änderung vornehmen, müssten für diesen die Credentials auf einen Standardwert<br />
bei der Übertragung der Informationen aus dem AD zurückgesetzt werden.<br />
Bei der zweiten Möglichkeit werden zur Vereinfachung des gesamten Verfahrens die<br />
Credentials für alle Benutzer zurückgesetzt. Dann ist die Migration für die Benutzer zwar<br />
nicht mehr transparent, mit Blick auf die Verfahrensvereinfachung und den für die Migration<br />
geringeren Zeitbedarf jedoch durchaus vertretbar.<br />
Nach erfolgreicher Übernahme der Informationen aus dem AD können die Samba DCs<br />
die Windows DCs entsprechend ablösen. Diese arbeiten dann wie Windows NT 4.0<br />
DCs.<br />
Abschließend sei noch darauf hingewiesen, dass Samba <strong>Version</strong> 3.x die Group Policy<br />
Objects unter Windows 2000 nicht unterstützt. Der wesentliche Teil dieser GPOs kann<br />
allerdings über System Policies und lokale Policies realisiert werden.<br />
2.2.2.2 Migration der Kerberos-basierten Authentisierungsinfrastruktur<br />
Eine Migration der Kerberos basierenden Authentisierungsinfrastruktur unter Windows<br />
2000 Server mit AD ist nicht möglich. Dem steht vor allem entgegen, dass die entsprechenden<br />
Schlüssel aus dem AD nicht übernommen werden können.<br />
Will man auch in der neuen Umgebung eine Kerberos basierte Authentisierungsinfrastruktur<br />
verwenden, dann muss eine entsprechende Infrastruktur neu aufgebaut werden.<br />
Hinweise hierzu finden sich in Kapitel II.C 1.1.<br />
Zu beachten ist, dass Gruppenrichtlinien mit den freien Implementierungen von Heimdal<br />
und MIT nicht wie bei Windows 2000 mit Kerberos-Tickets übertragen werden können.<br />
Microsoft hat hierzu eine proprietäre Erweiterung am Kerberos 5 Protokoll vorgenommen.<br />
Seite 217
2.2.3 Fazit / Empfehlung<br />
Bezüglich der Authentisierung wird eine Entscheidung für oder gegen den hier betrachteten<br />
Migrationspfad wohl in erster Linie davon abhängen, ob und welche Lock-In Szenarien<br />
bestehen und ob beziehungsweise wie effizient sich diese auflösen lassen. Die funktionalen<br />
Unterschiede dürften nur eine sekundäre Rolle für eine Entscheidung spielen,<br />
da sie hinsichtlich der Authentisierung nur gering sind. Es ist allerdings nicht auszuschließen,<br />
dass sich dies im Rahmen einer Gesamtmigration auch anders darstellen<br />
kann.<br />
2.3 Migration von Linux und OpenLDAP, Samba und Kerberos nach Windows<br />
2003 mit Active Directory<br />
In diesem Abschnitt werden die Möglichkeiten und Vorgehensweise zur Migration eines<br />
Linux basierten Systems in Kombination mit Samba, OpenLDAP und einer freien Kerberos-Implementierung<br />
auf ein Windows 2003 System mit Active Directory beschrieben.<br />
Im Gegensatz zu den vorher betrachteten Migrationspfaden, die die Ablösung eines<br />
Windows basierten Authentisierungsdienstes zum Ziel hatten und bei denen es darum<br />
ging, dass auch weiterhin Windows Clients eingesetzt werden können, geht es bei der<br />
hier betrachteten Migration auch darum, dass weiterhin Linux Clients in der Zielumgebung<br />
eingesetzt werden können.<br />
Dazu ist es notwendig, dass auf den neu aufzubauenden Windows 2003 DCs auch die<br />
Microsoft Services For Unix (SFU) 186 bereitgestellt werden, um auch die Funktionen der<br />
POSIX Authentifizierung verfügbar zu machen und um damit die Anbindung von Linux<br />
Clients zu ermöglichen.<br />
2.3.1.1 Migration der Benutzer- und Maschinenkonten<br />
Die Übernahme der Benutzer-, Gruppen- und Maschineninformationen erfolgt genau wie<br />
in die andere Richtung über die LDAPv3-Schnittstelle von AD. Ebenso wie bei der Migration<br />
in die andere Richtung ist es notwendig, ein entsprechendes Attributmapping vorzunehmen,<br />
um eine korrekte Abbildung der zueinander passenden Attribute sicherzustellen.<br />
Auch hier besteht ein Problem mit der Übernahme der Credentials, da diese ebenfalls<br />
verschlüsselt abgelegt werden. Als Lösung wird die Rücksetzung der Credentials empfohlen.<br />
Dies ist das einfachere und weniger zeitintensive Verfahren.<br />
186 http://www.microsoft.com/germany/windowsserver2003/technologien/sfu/default.mspx<br />
Seite 218
2.3.1.2 Migration der Kerberos basierten Authentisierungsinfrastruktur<br />
Eine Migration der Kerberos basierten Authentisierungsinfrastruktur ist aus den gleichen<br />
Gründen auch hier nicht möglich. Die Konfiguration der Kerberos basierten Authentisierungsinfrastruktur<br />
muss neu aufgebaut werden, wobei diese bei der Serverinstallation<br />
automatisch mit installiert wird, anschließend jedoch noch entsprechend zu konfigurieren<br />
ist.<br />
2.3.2 Bekannte Probleme<br />
Abgesehen von der Replikation des LDAP-Verzeichnisses können die Migrationsschritte<br />
nicht automatisiert werden. Daher ist für die Migration ein entsprechend langer und flexibler<br />
Zeitrahmen einzuplanen. MS stellt für diesen Migrationsweg, anders als die OSS-<br />
Community, bislang keinerlei Unterstützung zur Verfügung.<br />
2.3.3 Fazit / Empfehlung<br />
Da Microsoft im Gegensatz zur Open Source Community für die Migration von einer Linux<br />
basierenden IT-Infrastruktur hin zu einer Windows basierenden IT-Infrastruktur bislang<br />
noch keine geeigneten Migrationstools zur Verfügung stellt, ist ein Migrationspfad<br />
hin zu einer Windows 2003 Server basierenden IT-Infrastruktur relativ aufwendig und<br />
basiert auf vielen manuellen Migrationsschritten. Die Migration ist aber grundsätzlich<br />
machbar.<br />
2.4 Migration von Windows NT als DC auf Windows 2003 mit Active Directory<br />
Mit einer Migration von Windows NT als DC auf einen Windows 2003 Server erfolgt ein<br />
grundsätzlicher technologischer Wechsel der Authentifizierungs- und Verzeichnisdienste.<br />
2.4.1 Funktionaler Vergleich<br />
Während Windows NT auf NetBIOS, WINS, NTLM, SMB und einem eingeschränkten<br />
Verzeichnis basierte, werden mit Windows 2003 LDAP, Kerberos, DNS und CIFS leistungsfähigere<br />
und erweiterbare Technologien genutzt. Durch weitergehende Änderungen<br />
in der Domänenstruktur und den Authentifizierungsmechanismen ergeben sich während<br />
der Migration Anforderungen an eventuelle Neukonzeptionen.<br />
Grundsätzlich gibt es unterschiedliche Optionen, wie die Migration durchgeführt werden<br />
kann. Hierzu gehören ein Upgrade des alten Systems 187 , Neuinstallation oder Domänenupgrade<br />
188 . Empfohlen werden kann eigentlich nur eine Neuinstallation auf passender<br />
Hardware mit einer Domänenrestrukturierung. Das heißt, dass mit der Migration prinzipiell<br />
auch eine grundlegende Anpassung der Domänenstrukturen einhergeht.<br />
187<br />
Hier muss sichergestellt sein, dass die bestehende Hardware den Anforderungen des neuen<br />
Systems gerecht wird.<br />
188<br />
Die Strukturen der NT-Domäne werden in das Active Directory umgewandelt.<br />
Seite 219
2.4.2 Migrationspfad<br />
2.4.2.1 Grundsätzliche Schritte<br />
Um die Migration so transparent und minimal-invasiv wie möglich zu gestalten, wird<br />
empfohlen, in einem ersten Schritt das Update auf Windows 2003 durchzuführen und<br />
erst anschließend die Restrukturierung der Domänen durchzuführen.<br />
� Sicherung des IST-Zustands<br />
Der PDC wird auf einen BDC repliziert. Dieser BDC wird vom Netz genommen<br />
und dient als Sicherung.<br />
� Migration des PDC<br />
Der PDC wird auf Windows 2003 migriert. Dies erfolgt je nach Szenario über ein<br />
Betriebssystem-Update oder über eine Neuinstallation. Nach Abschluss der Migration<br />
arbeitet die Domäne im gemischten Modus (paralleler Betrieb von NT und<br />
2003-basierten Systemen).<br />
� Migration der BDC (optional)<br />
Im nächsten Schritt können die BDCs über ein Update oder eine Neuinstallation<br />
auf Windows 2003 umgestellt werden. Dieser Schritt ist optional, da im gemischten<br />
Modus auch der Windows 2003 PDC auf NT4 BDCs repliziert werden kann.<br />
� Schalten in den einheitlichen oder 2003 Modus<br />
Wurden auch die BDCs auf 2003 migriert kann die Domäne von dem gemischten<br />
Modus in den einheitlichen Modus oder den 2003-Modus geschaltet werden.<br />
� Optimierung der Domänenstrukturen (optional)<br />
Nach erfolgreicher Migration können die Domänenstrukturen optimiert und konsolidiert<br />
werden.<br />
2.4.2.2 Update von Windows NT auf 2003<br />
Das Update von Windows NT auf 2003 erfolgt über die Betriebssystem-CD. Während<br />
des Updates müssen über die benutzerdefinierte Installation der Netzwerkdienste der<br />
DNS- und der DHCP-Dienst installiert werden.<br />
Nach erfolgreichem Betriebssystem-Update wird auf der Kommandozeile das Programm<br />
„dcpromo― ausgeführt. Hierdurch erfolgt mit Hilfe eines Assistenten die Konvertierung der<br />
Windows NT Domäne in das Active Directory.<br />
2.4.2.3 Konsolidierung der Domänenstruktur<br />
Mit Hilfe des Active Directory Migration Tools (ADMT) kann nach der Migration der NT<br />
Domäne auf Active Directory eine Umstrukturierung der Domäne(n) erfolgen. Hierbei ist<br />
es oft möglich, die Domänenstruktur durch Verringerung der genutzten Domänen zu<br />
vereinfachen. Die Verwaltung von Benutzern, Gruppen und Gruppenrichtlinien wird vereinfacht<br />
und die unidirektionalen Vertrauensstellungen der NT-Domänen können automatisch<br />
in bidirektionale Vertrauensstellungen von Windows 2003 umgewandelt werden.<br />
Seite 220
2.4.2.4 Zu beachtende Punkte<br />
� Service Pack 5<br />
Für die Umstellung auf Windows 2003 ist es zwingend erforderlich, dass auf den<br />
umzustellenden Windows NT Rechnern das Service Pack 5 installiert ist.<br />
� Änderung Rechnername<br />
Da die Rechnernamen von Domänencontrollern nicht geändert werden können,<br />
kann es bei der Migration zu Problemen kommen. Dies ist besonders dann der<br />
Fall, wenn Windows 2003 auf einem komplett neuen System installiert wird. Sollte<br />
dies der Fall sein, wird empfohlen, das neue System aufzusetzen, mit Hilfe eines<br />
temporären Namens ins Netz zu integrieren und die Daten des alten NT-<br />
Systems zu kopieren. Im Anschluss kann dann der Name geändert und der Domäne<br />
als Domaincontroller beigetreten werden.<br />
2.4.3 Fazit / Empfehlung<br />
Die Migration auf Windows 2003 stellt eine Möglichkeit dar, das veraltete NT-System<br />
abzulösen und historisch gewachsene Strukturen zu überdenken und abzulösen.<br />
3 Bezüge<br />
3.1 Grundlegende Überlegungen<br />
Viele andere Infrastrukturdienste und Anwendungen haben aus ihrer Sicht einen Bezug<br />
zum Authentisierungsdienst und damit auch zum Verzeichnisdienst, wenn beides, wie<br />
hier im Leitfaden, als eine Einheit betrachtet wird. Damit kann ein Authentifizierungsdienst<br />
in der Regel auch nicht isoliert betrachtet beziehungsweise migriert werden. Wenn<br />
es um die Migration eines Authentifizierungsdienstes geht, muss der Bezug zu allen<br />
Diensten und Anwendungen hergestellt werden, die auf den Authentifizierungsdienst in<br />
der bestehenden Umgebung zugreifen und diesen nutzen. Im Prinzip kann dies fast alle<br />
technisch orientierten Themen betreffen, die im Rahmen des <strong>Migrationsleitfaden</strong>s behandelt<br />
werden. Eine Ausnahme stellt hierbei vielleicht das Thema Officeanwendungen<br />
dar. Da die Migration des Authentifizierungsdienstes häufig auch mit einem Wechsel des<br />
Betriebssystems einher geht (fortführend oder ablösend), müssen die anderen vorhandenen<br />
Infrastrukturdienste und Anwendungen mit betrachtet werden und sei es nur, um<br />
zu prüfen, dass ein Einsatz unter dem neuen Betriebssystem problemlos möglich ist.<br />
Dazu sollten dann die entsprechenden Abschnitte im <strong>Migrationsleitfaden</strong> zu Rate gezogen<br />
werden.<br />
3.2 Verzeichnisdienst<br />
Ein eigenes Thema Verzeichnisdienst ist im Moment im <strong>Migrationsleitfaden</strong> nicht vorgesehen.<br />
Daher soll an dieser Stelle darauf hingewiesen werden, dass die grundlegenden<br />
Überlegungen, wie sie im einleitenden Kapitel zu den Migrationspfaden zu Datenbanken<br />
beschrieben werden (siehe Kapitel II.A 2) in Teilen auf die Migration von Verzeichnisdiensten<br />
übertragen werden können. Insbesondere, wenn man bedenkt, dass im Ba-<br />
Seite 221
ckend der meisten Verzeichnisdienste Datenbanken liegen. Die beiden folgenden<br />
Grundsätze sollten in jedem Fall beachtet werden:<br />
� Bei der Ausgestaltung einer Verzeichnisdienstlösung eine Orientierung an herstellerunabhängigen<br />
Standards erfolgen. Die Anwendung von herstellerspezifischen<br />
Techniken und Funktionen sollte vermieden werden.<br />
� Eine Verzeichnisdienstlösung sollte sich auf die Kernfunktionalität eines Verzeichnisdienstes<br />
konzentrieren, nämlich der Speicherung und Bereitstellung von<br />
Daten. Der Zugriff auf die Daten und deren Verarbeitung sollte losgelöst vom<br />
verwendeten Produkt entweder über eigene Anwendungen oder mittels geeigneter<br />
LDAP-Browser.<br />
� Für die Gestaltung der Struktur der Verzeichnisbäume sollten so weit als möglich<br />
vorhandene Standardschemata zum Einsatz kommen.<br />
Unter Beachtung dieser minimalen Vorgaben sollte dann auch eine Migration von einem<br />
X.500-Verzeichnis zu einem LDAP-Verzeichnis machbar sein.<br />
Für tiefer gehende Betrachtungen müsste ein eigenes Migrationsthema Verzeichnisdienst<br />
losgelöst vom Authentisierungsdienst im Leitfaden aufgenommen werden. Sollte<br />
sich hierfür ein entsprechender Bedarf zeigen, wird der <strong>Migrationsleitfaden</strong> dies aufgreifen.<br />
Seite 222
D Thema Netzwerkdienste<br />
Die infrastrukturbildenden Dienste für TCP/IP basierte Netzwerke (DNS, DHCP, NTP,<br />
Routing, VPN, Filtering) lassen sich durchweg in Open Source Software realisieren. Die<br />
umfassende Verfügbarkeit dieser Netzwerkdienste als OSS erklärt sich aus der Entwicklungsgeschichte<br />
des Internet. Dieses weltweite Datennetz zeichnet sich dadurch aus,<br />
dass alle daran angeschlossenen Computer ein und dieselbe Sprache sprechen. Diese<br />
Sprache besteht aus einer ganzen Familie von Protokollen, die unter der Bezeichnung<br />
TCP/IP zusammengefasst werden. Damit die Kommunikation zwischen den unterschiedlichsten<br />
Systemen weltweit reibungslos funktioniert, muss das „Sprachverständnis― unbedingt<br />
übereinstimmen. Um diese Übereinstimmung zu erreichen, sind die meisten der<br />
bei der Internet Engineering Task Force (IETF) formell verabschiedeten Standards für<br />
Internetprotokolle durch Open Source Referenzimplementierungen unterstützt. Auf<br />
Grundlage dieser Referenzen können alle Hersteller unabhängig voneinander vollständig<br />
interoperable Software entwickeln. Die Internetprotokolle selbst sind herstellerunabhängig<br />
und sowohl in ihren Definitionen als auch in ihren Open Source Implementierungen<br />
offene Standards. Dieser besondere Charakter der Internetprotokolle hat entscheidend<br />
dazu beigetragen, dass sich TCP/IP gegenüber den gleichzeitig am Markt befindlichen<br />
proprietären Netzwerkprotokollen durchgesetzt hat.<br />
Auch wenn im lokalen Netz die Anforderungen bezüglich Interoperabilität aufgrund der<br />
begrenzten Anzahl beteiligter Systeme überschaubar bleiben, ist die Bewahrung der<br />
offenen Standards von essenzieller Bedeutung. Dies hat dazu geführt, dass die herstellerspezifischen<br />
Netzwerkdienste für lokale Netze wie zum Beispiel der Microsoft Windows<br />
Internet Name Service (WINS) und das Network Basic Input Output System (Net-<br />
BIOS) immer stärker in den Hintergrund treten.<br />
Diese Dienste werden nachfolgend auch betrachtet, da sie noch genutzt und erst sukzessive<br />
abgelöst werden. Der Fokus richtet sich aber vor allem auf die beiden wichtigsten<br />
Netzwerkdienste, den auf dem Dynamic Host Configuration Protocol (DHCP) basierenden<br />
Dienst für die Zuweisung von IP-Adressen und den Domain Name Service<br />
(DNS).<br />
1 Produkte / Technologien<br />
Die meisten der nachfolgend beschriebenen Dienste basieren auf TCP/IPv4. Eine Betrachtung<br />
von IPv6 findet nur vereinzelt statt.<br />
1.1 NetBIOS, WINS, DNS und DHCP unter Windows NT/2000/2003<br />
Neben den offenen Netzwerkprotokollen werden im Folgenden auch heute noch z.T.<br />
verwendete proprietäre Protokolle beschrieben. Betrachtet werden im Folgenden die<br />
Netzwerkprotokolle/-dienste:<br />
� NetBIOS<br />
� WINS<br />
Seite 223
� DNS<br />
� DHCP<br />
1.1.1 NetBIOS/NetBEUI<br />
Entwickelt wurde NetBIOS 1983 bei der Firma Sytec, Inc. Der Auftrag hierzu wurde von<br />
IBM für das IBM PC Netzwerk zur Vernetzung kleiner Arbeitsgruppen erteilt.<br />
NetBIOS ist eine Schnittstelle zur Kommunikation zwischen Anwendungen in Windows<br />
basierten Netzwerken. Das Netzwerkprotokoll NetBEUI dient NetBIOS standardmäßig<br />
als Transportprotokoll. Um NetBIOS über TCP verwenden zu können, wurde mit den<br />
RFCs 1001 und 1002 der Standard NetBIOS over TCP/IP (NBT) definiert.<br />
NetBIOS/NetBEUI ist aufgrund seiner Zielsetzung für kleine Netzwerke ohne Router<br />
ausgelegt. Das Protokoll kann auf Grund seiner Architektur nicht über Router hinaus<br />
verbreitet werden. Zur Kommunikation nutzt das Protokoll hauptsächlich ungerichtete<br />
Datenpakete, sogenannte Broadcasts. Dies kann zu einem hohen Datenverkehr innerhalb<br />
eines Netzwerkes führen. Durch die starke Verbreitung und Nutzung des Internets<br />
und des dem Internet zugrunde liegenden Protokolls TCP/IP hat NetBIOS heutzutage<br />
seine Bedeutung verloren. Viele Anbieter haben die Entwicklung für dieses Protokoll<br />
eingestellt und bilden die Funktionen des Protokolls nunmehr über TCP/IP ab. Seit Windows<br />
2000 setzt auch Microsoft in seinen Betriebssystemen auf TCP/IP anstatt auf Net-<br />
BIOS/NetBEUI, daher wird hier nicht detaillierter auf dieses Protokoll eingegangen.<br />
1.1.2 Windows Internet Name Service (WINS)<br />
WINS wurde von Microsoft entwickelt, um eine Namenauflösung für NetBIOS über<br />
TCP/IP in Microsoft Netzwerken abzubilden.<br />
Microsoft definiert WINS wie folgt 189 :<br />
WINS (Windows Internet Name Service) ist die Windows-Implementierung eines<br />
NetBIOS-Namenservers (NBNS), der eine verteilte Datenbank für das Registrieren<br />
und Abfragen dynamischer Zuordnungen von NetBIOS-Namen zu den im<br />
Netzwerk verwendeten IPv4-Adressen bereitstellt. WINS bietet eine NetBIOS-<br />
Namensauflösung in gerouteten TCP/IP-Netzwerken mit mehreren Subnetzen.<br />
Bevor zwei Hosts, die NetBIOS über TCP/IP (NetBT) verwenden, miteinander<br />
kommunizieren können, muss der Ziel-NetBIOS-Name in eine IPv4-Adresse aufgelöst<br />
werden. TCP/IP kann keine Kommunikation mithilfe eines NetBIOS-<br />
Computernamens herstellen.<br />
Es besteht die Möglichkeit, einen WINS-Proxy einzusetzen. Ein WINS-Proxy hält selbst<br />
keine Datenbank. Er nimmt lediglich Anfragen von Clients entgegen und leitet diese an<br />
einen vollwertigen WINS Server weiter.<br />
Sämtliche bisher erschienenen Windows Betriebssysteme (Windows 9x bis Windows XP<br />
und sämtliche Serverbetriebssysteme) können einen WINS Client darstellen. Der WINS<br />
Client kann anhand seines sogenannten Knotentyps dahin gehend konfiguriert werden,<br />
ob und wie er NetBIOS-Namen auflösen soll.<br />
189 http://www.microsoft.com/germany/technet/datenbank/articles/600987.mspx<br />
Seite 224
Microsoft empfiehlt beim Aufbau von neuen Netzwerken, den WINS Dienst anzubieten,<br />
da nicht auszuschließen ist, dass vorhandene alte (zum Beispiel 16 Bit Anwendungen)<br />
Applikationen diesen Dienst noch nutzen. Dies sollte aber in jedem Fall im Vorfeld geprüft<br />
werden. Diese Prüfung ist jedoch häufig nicht problemlos möglich, da es keine<br />
Standardmethode zur Ermittlung aller Anwendungen gibt, die WINS benötigen. Bei einer<br />
zukünftigen Planung zum Einsatz von Applikationen innerhalb eines Netzwerkes sollte<br />
daher der Einsatz von Applikationen vermieden werden, die den WINS Dienst nutzen.<br />
1.1.3 Domain Name System (DNS)<br />
DNS ist der Internetstandard, der es unter anderem ermöglicht, innerhalb eines hierarchischen<br />
Namensraums Rechnernamen in eine IP Adresse und umgekehrt (Reverse<br />
Lookup) aufzulösen.<br />
Paul Mockapetris entwarf 1983 den DNS Dienst und beschrieb ihn in den RFCs 882 und<br />
883. Diese RFCs wurden inzwischen von RFC 1034 und RFC 1035 abgelöst und durch<br />
zahlreiche weitere Standards ergänzt.<br />
DNS kann auf den Microsoft Server Betriebssystemen installiert werden. In folgenden<br />
RFCs ist der DNS Dienst beschrieben, wie er von Microsoft für Windows Serverbetriebssysteme<br />
implementiert wird 190 :<br />
RFC Titel<br />
1034 Domain Names – Concepts and Facilities<br />
1035 Domain Names – Implementation and Specification<br />
1123 Requirements for Internet Hosts – Application and Support<br />
1886 DNS Extensions to Support IP <strong>Version</strong> 6<br />
1995 Incremental Zone Transfer in DNS<br />
1996 A Mechanism for Prompt Notification of Zone Changes (DNS NOTIFY)<br />
2136 Dynamic Updates in the Domain Name System (DNS UPDATE)<br />
2181 Clarifications to the DNS Specification<br />
2308 Negative Caching of DNS Queries (DNS NCACHE)<br />
2535 Domain Name System Security Extensions (DNSSEC)<br />
2671 Extension Mechanisms for DNS (EDNS0)<br />
2782 A DNS RR for Specifying the Location of Services (DNS SRV)<br />
Tabelle 40: RFCs in denen DNS spezifiziert wird<br />
Die Nutzung des DNS Dienst innerhalb einer abgegrenzten Netzwerkinfrastruktur setzt<br />
den Aufbau beziehungsweise die Nutzung eines entsprechenden Servers voraus. Um<br />
die Kommunikation zu Rechnern in anderen Netzwerken aufzubauen, können externe<br />
190 http://www.microsoft.com/technet/prodtechnol/windowsserver2003/de/library/<br />
ServerHelp/60601f25-a8b3-4316-851f-8e0cc99673ec.mspx?mfr=true<br />
Seite 225
DNS Server von den entsprechenden Providern genutzt werden. DNS Server treten in<br />
der Regel paarweise (Primary und Secondary DNS Server) auf. Dies dient zum einen<br />
der Verbesserung der Ausfallsicherheit des Dienstes und ermöglicht zum anderen, DNS<br />
Einträge im laufenden Betrieb zu pflegen.<br />
Wie bereits erwähnt, ermöglicht DNS die Auflösung eines Rechnernamens in eine IP<br />
Adresse und umgekehrt in einen hierarchischen Namensraum. Die Hierarchie des Namensraums<br />
macht sich in der Notation der Namen durch das Trennzeichen „.― (Punkt<br />
beziehungsweise dot) bemerkbar. Der sogenannte „vollqualifizierte― Name (Fully Qualified<br />
Domain Name, FQDN) besteht aus zwei Teilen: der erste Teil (bis zum ersten<br />
Punkt) kennzeichnet den Hostnamen, der zweite Teil die DNS Domäne. Beispiel: computer1.organisation1.com<br />
beschreibt den Rechner namens computer1 in der DNS Domäne<br />
organisation1.com. Es ist nicht zwingend notwendig, dass der FQDN aus drei Teilen<br />
bestehen muss. Zwei Teile sind allerdings mindestens aufzuführen. Der in diesem<br />
Beispiel aufgeführte Teil nach dem letzten Punkt beschreibt üblicher Weise den übergeordneten<br />
Bereich oder das Land in dem der Rechner beziehungsweise die Domäne<br />
angesiedelt ist. Als zulässige Zeichen in FQDN sind die Zeichen a bis z, A bis Z und das<br />
Minuszeichen definiert, wobei nicht zwischen Groß- und Kleinschreibung unterschieden<br />
wird. 191<br />
Da DNS ein Internetstandard ist, ist eine freie Wahl des Domänennamens nicht möglich.<br />
Die Domänen müssen bei den aktuellen nationalen oder internationalen Verwaltungseinrichtungen<br />
registriert werden. Ist der DNS Namensraum allerdings nur innerhalb der eigenen<br />
Organisation (Unternehmen) sichtbar, können auch nicht registrierte Namen zum<br />
Einsatz kommen. Hiervon ist allerdings abzuraten. Es sollte immer darauf geachtet werden,<br />
dass ein Namensraum verwendet wird, der zum Internet kompatibel bleibt. Hierzu<br />
empfiehlt es sich, einen gewünschten Namensraum (Domäne) frühzeitig reservieren zu<br />
lassen. Dies verhindert spätere Umstellungen und vermeidet Aufwendungen für Migrationen.<br />
DNS verfügt über Mechanismen, die es ermöglichen, die zugrunde liegende Datenbasis<br />
zu partitionieren, also auf verteilte Umgebungen anzupassen. Zum einen kann die Namensauflösung<br />
für spezielle Domänen delegiert werden, zum anderen können über die<br />
Erstellung von Zonen die Replikation (Zonentransfer) und die Verwaltung gesteuert werden.<br />
Eine Besonderheit der DNS Implementierung unter Windows ab NT 4 ist die Möglichkeit,<br />
den DNS Dienst zu veranlassen, zusätzlich einen WINS Server zur Namensauflösung<br />
heranzuziehen.<br />
DNS unterstützt neben den Einträgen für Rechnernamen noch weitere Eintragstypen<br />
(resource records). Die folgende Tabelle zeigt eine Übersicht der in Windows unterstützten<br />
DNS Resource Record Typen.<br />
191 In einigen Domänen, wie .de .at .ch sind auch erweiterte Zeichensätze mit definierten Sonderzeichen<br />
zum Beispiel Umlauten oder ß nutzbar.<br />
Seite 226
Record Typ Kurzbeschreibung<br />
A Adresseintrag (klassischer Eintrag für einen Host, der in eine IP Adresse aufgelöst<br />
werden soll)<br />
CNAME Alias (oder canonical name)<br />
MX Eintrag für das Mailrouting via SMTP (Simple Message Transfer Protocol)<br />
NS Eintrag für einen DNS Server (name server) einer DNS Domäne.<br />
PTR Reversiver Adresseintrag (pointer resource record), der über eine IP Adresse auf<br />
einen Hostname schließen lässt<br />
RP Eintrag für die verantwortliche Person einer speziellen DNS Domäne<br />
SOA Ein SOA-Satz (Start Of Authority) markiert den Beginn einer Zone. Der Name<br />
(@, das Origin) steht für den Namen der Zone.<br />
TXT Eintrag für Textinformationen<br />
WINS Eintrag für die IP Adresse für WINS Server, die zusätzlich zur Vorwärtsauflösung<br />
verwendet werden sollen<br />
WINS_R Eintrag den Reverse Lookup via WINS Server<br />
SRV Eintrag für well-known service<br />
Tabelle 41: Übersicht der unterstützten DNS Resource Record Typen<br />
Sämtliche bisher erschienenen Windows Betriebssysteme (Windows 9x bis Windows XP<br />
und sämtliche Serverbetriebssysteme) können einen DNS Client darstellen. Systeme mit<br />
Windows 2000 oder höher unterstützen als Client auch dynamische DNS (DDNS).<br />
Der DNS Dienst unter Windows 2003 ist laut den Angaben von Microsoft 192 interoperabel<br />
mit den nachfolgend aufgeführten <strong>Version</strong>en von BIND (Berkeley Internet Name Domain)<br />
193 , der Open Source Implementierung eines DNS Dienstes, die für viele Betriebssysteme,<br />
wie zum Beispiel UNIX, FreeBSD, OpenBSD, Linux und Windows zur Verfügung<br />
steht:<br />
� BIND 4.9.7<br />
� BIND 8.1.2<br />
� BIND 8.2<br />
� BIND 9.1.0<br />
Die Anbindung von BIND 9 an fremde Datenquellen für die Verwaltung der Zoneninformationen<br />
ist einerseits über ein umfangreiches BackEnd Database Interface möglich,<br />
andererseits gibt es ein zusätzliches, vereinfachtes Interface, „Simple Database Ba-<br />
192 http://www.microsoft.com/technet/prodtechnol/windowsserver2003/de/library/ServerHelp/<br />
73c0ae36-8058-43d1-8809-046eb03b73fb.mspx?mfr=true<br />
193 http://www.isc.org/index.pl?/sw/bind/<br />
Seite 227
ckend― (SDB), mit dem beispielsweise ein nur-lesender Zugriff auf LDAP oder SQL Datenbanken<br />
realisiert werden kann. Die Anbindungen selbst sind jedoch nicht Bestandteil<br />
des BIND Softwarepakets. So existieren beispielsweise für die LDAP-Anbindung sowohl<br />
SDB Implementierungen als auch vordefinierte Objektklassen, mit denen eine solche<br />
Anbindung realisiert werden kann.<br />
Insbesondere unterstützt BIND 9 auch die dynamische Aktualisierung von Service-<br />
Records und kann damit entsprechende Dienste für Windows Server leisten<br />
BIND stellt damit eine Alternative zu dem in Windows implementierten DNS dar. Aufgrund<br />
seiner großen Verbreitung ist nicht zu erwarten, dass es beim Einsatz in heterogenen<br />
Umgebungen funktionale Schwierigkeiten gibt.<br />
1.1.4 Dynamic Host Configuration Protocol (DHCP)<br />
DHCP wurde von der Dynamic Host Configuration Working Group of the Internet Engineering<br />
Task Force entwickelt und ist im RFC 2131 definiert.<br />
DHCP wird dazu verwendet, Computern innerhalb eines Netzwerkes automatisch, dynamisch<br />
und temporär oder statisch und permanent eine IP Adresse zuzuweisen. Dies<br />
geschieht, indem der Computer während der Startphase über einen DHCP Client eine<br />
entsprechende Anfrage an den DHCP Server stellt, welcher aus einem Pool von IP Adressen<br />
eine IP Adresse für die Dauer einer festgelegten Laufzeit zur Verfügung stellt.<br />
Zwar bietet ein DHCP-Server unter Windows Server 2003 alle Optionen aus der nachfolgenden<br />
Optionsliste (siehe Tabelle 42) an, jedoch fordern DHCP-Clients unter Windows<br />
XP und Windows Server 2003 während des DHCP-Konfigurationsvorgangs nur die<br />
in der Spalte „Unter Windows genutzt― gekennzeichneten Optionen an.<br />
Nr. Optionsname Erklärung von Windows<br />
genutzt<br />
0 Pad<br />
255 End<br />
1 Subnet mask Gibt die mit der geleasten IP-Adresse verknüpften<br />
Subnetzmaske an. Die Subnetzmaske wird<br />
in einem Bereich konfiguriert und muss nicht<br />
separat als Option konfiguriert werden.<br />
2 Time offset<br />
3 Router Gibt die IP-Adresse des Standardgateways<br />
eines Hosts an.<br />
4 Time server<br />
5 Name servers<br />
6 DNS servers Gibt die IP-Adressen von DNS-Servern an. �<br />
7 Log servers<br />
8 Cookie servers<br />
9 LPR servers<br />
Seite 228<br />
�<br />
�
Nr. Optionsname Erklärung von Windows<br />
genutzt<br />
10 Impress servers<br />
11 Resource Location<br />
servers<br />
12 Host name<br />
13 Boot file size<br />
14 Merit dump file<br />
15 Domain name Gibt den verbindungsspezifischen DNS-<br />
Domänensuffix an, der vom DHCP-Client verwendet<br />
werden soll.<br />
16 Swap server<br />
17 Root path<br />
18 Extensions path<br />
19 IP layer forwarding<br />
20 Nonlocal source<br />
routing<br />
21 Policy filter masks<br />
22 Max DG reassembly<br />
size<br />
23 Default time-to-live<br />
24 Path MTU aging<br />
timeout<br />
25 Path MTU plateau<br />
table<br />
26 MTU option<br />
27 All subnets are<br />
local<br />
28 Broadcast address<br />
29 Perform mask discovery<br />
30 Mask supplier<br />
31 Perform router discovery<br />
32 Router solicitation<br />
address<br />
Gibt an, ob der DHCP-Client ICMP-Routersuche<br />
(Internet Control Message Protocol) als<br />
Host verwendet, wie in RFC 1256 definiert.<br />
33 Static route Gibt einen Satz von IP-Netzwerkzielen mit<br />
Klassen an, zusammen mit den ihnen entsprechenden<br />
IP-Adressen, die DHCP-Clients in ihre<br />
IP-Routingtabellen aufnehmen.<br />
Seite 229<br />
�<br />
�<br />
�
Nr. Optionsname Erklärung von Windows<br />
genutzt<br />
34 Trailer encapsulation<br />
35 ARP cache timeout<br />
36 Ethernet encapsulation<br />
37 Default time-to-live<br />
38 Keepalive interval<br />
39 Keepalive garbage<br />
40 NIS domain name<br />
41 NIS servers<br />
42 NTP servers<br />
43 Vendor-specific<br />
information<br />
44 WINS/ NBNS servers<br />
45 NetBIOS over TCP/<br />
IP NBDD<br />
46 WINS/ NBT node<br />
type<br />
Gibt an, ob herstellerspezifische Optionen angefordert<br />
werden.<br />
Gibt die IP-Adressen von WINS-Servern an. �<br />
Gibt den von dem Client verwendeten Typ der<br />
Namensauflösung bei NetBIOS (Network Basic<br />
Input/Output System) über TCP/IP an.<br />
47 NetBIOS scope ID Gibt die NetBIOS-Bereichskennung an. NetBT-<br />
Hosts (NetBIOS über TCP/IP) kommunizieren<br />
nur mit den NetBT-Hosts, die die gleiche Bereichskennung<br />
verwenden.<br />
48 X Window system<br />
font<br />
49 X Window system<br />
display<br />
51 Lease time Gültigkeitsdauer der Vergabe<br />
58 Renewal (T1) time<br />
value<br />
59 Rebinding (T2) time<br />
value<br />
64 NIS + Domain Name<br />
65 NIS + Servers<br />
66 Boot Server Host<br />
Name<br />
67 Bootfile Name<br />
Erneuerungsintervall 1<br />
Erneuerungsintervall<br />
Seite 230<br />
�<br />
�<br />
�
Nr. Optionsname Erklärung von Windows<br />
genutzt<br />
68 Mobile IP Home<br />
Agents<br />
249 Statische Routen<br />
ohne Klassen<br />
Gibt einen Satz von Routen ohne Klassen an,<br />
die der DHCP-Client in seine IP-Routingtabelle<br />
aufnimmt.<br />
Tabelle 42: Übersicht der DHCP Optionen<br />
Wie auch die anderen Netzwerkdienste ist der DHCP Dienst unter Microsoft kompatibel<br />
zu den Standardimplementierungen unter UNIX und kann daher in heterogenen Umgebungen<br />
eingesetzt werden.<br />
Die Funktion, dass sich Netzwerkclients automatisch konfigurieren, ist in TCP/IPv6 in die<br />
Definition des TCP/IP Protokolls eingeflossen. Daher gibt es unter TCP/IPv6 kein DHCP<br />
mehr.<br />
In Netzwerken, in denen die Adressierung bereits nach der neuen <strong>Version</strong> 6 des Internetprotokolls<br />
(IPv6) stattfindet, verwendet der Microsoft Server parallele IP Stacks für<br />
IPv4 und IPv6 (Dualstack-Strategie). Für Windows Clients wird diese Option zum Zeitpunkt<br />
der Erstellung des Leitfadens nicht angeboten. Damit besteht die Möglichkeit, dass<br />
sowohl Rechner mit IPv6 als auch Rechner mit IPv4 mit dem Server kommunizieren<br />
können.<br />
Über das Internet bieten die meisten Provider jedoch noch immer keinen nativen IPv6-<br />
Verbindungen an. Somit besteht die grundsätzliche Schwierigkeit, zwei IPv6-Netze über<br />
das Internet miteinander zu verbinden. Um diese Einschränkung zu umgehen, gibt es<br />
weltweit sogenannte „tunnel broker", mit denen alle IPv6-Verbindungen durch eine IPv4-<br />
Verbindung „getunnelt" werden können. In der Regel werden diese gratis zur Verfügung<br />
gestellt.<br />
Zusammenfassend ist festzustellen: Netzwerkprotokolle bilden die Grundlage zur Kommunikation<br />
von Geräten innerhalb eines Netzwerkes. In der Vergangenheit waren die<br />
Implementierungen dieser Protokolle bei Microsoft in der Praxis teilweise nur eingeschränkt<br />
nutzbar (zum Beispiel Abstürze der TCP/IP Implementierung 1.0). Inzwischen<br />
sind die Implementierungen aller Protokolle bei Microsoft für den Praxiseinsatz geeignet.<br />
TCP/IP hat sich als Standard durchgesetzt. Gegebenenfalls müssen aus historischen<br />
Gründen bei Microsoftumgebungen aber auch Protokolle eingesetzt werden, die nicht<br />
aus der TCP/IP Welt stammen, in diese jedoch eingebunden werden können (zum Beispiel<br />
WINS).<br />
1.2 WINS, DNS und DHCP unter Linux mit Samba<br />
Die Auswirkungen der Netzwerkdienste für die Clients unterscheiden sich nicht zwischen<br />
einem Windows Netzwerk und einem OSS Netzwerk. Daher werden nachfolgend<br />
nur die Unterschiede in Bezug auf die in Kapitel 4.2.1.1 beschriebenen Dienste<br />
aufgeführt. Im Wesentlichen handelt es sich hierbei um architektonische Unterschiede.<br />
Seite 231<br />
�
Auf die Herkunft der Protokolle wird jeweils kurz im entsprechenden Abschnitt verwiesen,<br />
sofern diese von den bereits beschriebenen abweicht.<br />
1.2.1 Windows Internet Name Service (WINS)<br />
Die Namensauflösung für Windows-Dienste und -Rechner wird nach einer OSS-<br />
Migration durch den Samba-Dämon nmbd übernommen. Dabei können einerseits die bei<br />
Windows üblichen broadcastbasierten Browserdienste sowohl als Client als auch als<br />
lokaler oder domänenweiter Master Browser geleistet werden. Andererseits kann der<br />
nmbd aber auch als WINS Server die Koordinierung der Browser über die Grenzen von<br />
Netzsegmenten hinweg leisten, die üblicherweise mit Routern, die keine Broadcasts<br />
durchlassen, verbunden sind.<br />
SAMBA kann auch in der Form konfiguriert werden, dass der SAMBA Server auf einen<br />
bestehenden WINS Server zugreift und die dort bereitgestellten Namen dann im Netzwerk<br />
verteilt. In diesem Fall kann SAMBA aber nicht als secondary WINS Server neben<br />
einem Microsoft WINS Server oder einem zweiten SAMBA Server verwendet werden.<br />
1.2.2 DNS (Domain Name Service)<br />
Die Referenzimplementierung für einen Domain Name Service ist BIND (Berkeley Internet<br />
Name Domain), die vom Internet Software Consortium (ISC) herstellerunabhängig<br />
weiterentwickelt und gepflegt wird. Die aktuellste <strong>Version</strong> ist Bind 9.4.1-P1, die u.a. dynamisches<br />
DNS (DDNS), DNSSEC und IPv6 unterstützt. BIND ist ein Open Source<br />
Softwarepaket, welches unter BSD-Lizenz steht und für zahlreiche Betriebssysteme wie<br />
UNIX, NetBSD, FreeBSD, OpenBSD, Linux, Mac OS X und Windows NT/2000/2003 zur<br />
Verfügung steht. In vielen Linux-Distributionen wird BIND standardmäßig mitgeliefert.<br />
1.2.3 Dynamic Host Configuration Protocol (DHCP)<br />
Die Referenzimplementierung des DHCP wird ebenfalls vom ISC weiterentwickelt und<br />
gepflegt. Das Protokoll und die Software haben folgende Aufgaben beziehungsweise<br />
Möglichkeiten:<br />
� Automatische Zuweisung von IP-Adresse nach IPv4 und Rechnernamen an<br />
Clients. DHCP erlaubt sowohl die Zuweisung fester IP-Adressen (anhand der<br />
MAC Adresse) als auch die dynamische Zuweisung einer freien Adresse aus einem<br />
festgelegten Adressbereich.<br />
� Automatische Übermittlung von Informationen über die Netzwerkinfrastruktur.<br />
Zum Beispiel können über DHCP der Domänenname und der Nameserver, die<br />
Default-Route und die Netzmaske zentral verwaltet an alle Clients verteilt werden.<br />
� Darüber hinaus lassen sich eine große Zahl fest definierter optionaler Felder sowie<br />
frei definierbare Informationen zur Host-Konfiguration durch den dhcpd ausliefern.<br />
Dies beinhaltet auch sämtliche vom Windows-Clients verwertbaren Optionen,<br />
die im vorherigen Kapitel aufgeführt sind.<br />
� Zusätzlich kann der dhcpd auch die Rolle eines bootpd übernehmen und so einem<br />
Client alle für das Booten über Netz erforderlichen Informationen übermitteln.<br />
Seite 232
Der ISC dhcpd ermöglicht bezüglich aller auszuliefernden Informationen sowohl die<br />
Verwaltung von individuellen Clients als auch die zusammenfassende Konfiguration für<br />
Klassen und Subnetze. In der Konfiguration des ISC dhcpd ist außerdem die bedingte<br />
Zuweisung von Host-Konfigurationsdaten durch IF-Anweisungen möglich.<br />
Der dhcpd kann in einer Failover-Konfiguration betrieben werden, um Hochverfügbarkeit<br />
zu realisieren. Die dynamisch verwalteten IP-Bereiche werden dann zwischen den sich<br />
gegenseitig ersetzenden Servern koordiniert. Diese Konfiguration kann auch für Load-<br />
Balancing genutzt werden.<br />
Die Konfiguration des ISC dhcpd geschieht im traditionellen UNIX-Stil durch eine ASCII<br />
Konfigurationsdatei. Es existiert ein Patch, mit dem die Konfiguration des ISC-DHCP-<br />
Servers dynamisch aus einem LDAP-Repository bezogen werden kann. Die Implementierung<br />
folgt dem IETF Draft zum LDAP Schema für DHCP.<br />
IPv6 wird fast in allen Linux-Distributionen unterstützt. Hier, wie in vielen anderen Hard-<br />
und Softwarekomponenten, ist ein IP-Dual-Stack implementiert. Die parallele Unterstützung<br />
von IPv6 und IPv4 wird in der Regel automatisch mit jeder Standard-Installation<br />
bereitgestellt. Je nach Distribution ist die IPv6-Unterstützung direkt aktiviert oder sie<br />
kann optional aktiviert werden. Mit dem implementierten Dual-Stack kann ein Rechner<br />
sowohl mit einen IPv6- als mit einem IPv4-Rechner kommunizieren. Innerhalb von homogenen<br />
IPv6- oder IPv4-Netzen ist die Kommunikation zwischen den Rechnern prinzipiell<br />
kein Problem. Will man aber zwei IPv6-Netze über ein IPv4-Netz miteinander verbinden,<br />
so erfordert dies in der Regel eine Tunnelung der IPv6-Kommunikation über<br />
IPv4. Dies ist immer dann von Interesse, wenn das Internet als Verbindungsglied genutzt<br />
wird. Hier ist eine native IPv6-Unterstützung eher schwach ausgeprägt. Es gibt aber sogenannte<br />
„tunnel broker―, welche die Möglichkeit bieten, in der Regel kostenneutral,<br />
IPv6-Kommunikation über IPv4 zu tunneln.<br />
Damit kann zusammenfassend angemerkt werden, dass die Open Source Implementierungen<br />
uneingeschränkt geeignet sind, um Netzwerke aufzubauen und zu betreiben. Sie<br />
haben durch ihre Zuverlässigkeit den Weg für alle anderen Implementierungen gewiesen,<br />
wie ihr langjähriger, erfolgreicher Einsatz im Rahmen des Internets belegt.<br />
Aus historischen und architektonischen Gründen waren in vielen der hier beschriebenen<br />
Protokolle kaum Sicherheitsmechanismen vorgesehen. Einzelne Protokolle eröffneten<br />
daher in der Vergangenheit immer Angriffsmöglichkeiten, die jedoch durch Erweiterungen<br />
der Protokolle beziehungsweise durch andere Protokolle stets schnell geschlossen<br />
werden konnten.<br />
Seite 233
2 Migrationspfade<br />
Auch wenn im lokalen Netz die Anforderungen bezüglich Interoperabilität aufgrund der<br />
begrenzten Anzahl beteiligter Systeme überschaubar bleiben, ist die Bewahrung der<br />
offenen Standards von essenzieller Bedeutung. Insbesondere bei herstellerspezifischen<br />
Änderungen beziehungsweise Erweiterungen von Standards ist regelmäßig die Gefahr<br />
eines „Vendor Lock-In― gegeben. Das heißt, einerseits wird die Bindung an diesen Hersteller<br />
bis hin zur Abhängigkeit gefestigt, andererseits geht die Definitionsmacht bezüglich<br />
der Fortentwicklung und der Interoperabilität von Fremdsystemen, jedenfalls im Wirkungsbereich<br />
der Erweiterung, auf den Hersteller über.<br />
Vor diesem Hintergrund sollte in jedem Fall geprüft werden, ob die mit einer herstellerspezifischen<br />
Erweiterung eines Standards versprochenen Verbesserungen auch eine<br />
langfristige Perspektive ermöglichen. Die Verwendung der seit langer Zeit existierenden<br />
und bewährten Referenzimplementationen kann möglicherweise nicht mit jedem Feature<br />
aufwarten. Sie bieten aber die Gewähr für eine dauerhafte Interoperabilität mit allen<br />
netzwerkfähigen Systemen.<br />
Eine Migration von einzelnen Netzwerkdiensten, losgelöst von anderen Migrationen wie<br />
zum Beispiel der Dateiablage und des Authentisierungdienstes, von einer Windows<br />
Landschaft zu einer Unix Landschaft oder umgekehrt ist in der Regel nicht sinnvoll. Gegebenenfalls<br />
kann es auf Grund bestimmter Rahmenbedingungen (zum Beispiel Infrastrukturanforderungen<br />
/ technische Vorgaben) Ausnahmen geben. Typische Beispiele<br />
hierfür sind der DNS und der DHCP Dienst.<br />
Aber auch andere Abhängigkeiten müssen berücksichtigt werden. Zum Beispiel benötigt<br />
Exchange 2003 zwingend einen WINS Dienst. Das heißt, wenn die Netzwerkdienste<br />
migriert werden und Exchange 2003 eingesetzt wird, muss zwingend ein SAMBA Server<br />
aufgebaut werden, um den WINS Dienst anzubieten.<br />
Die Migration von Netzwerkdiensten kann normalerweise als sanfte Migration durchgeführt<br />
werden. Hierbei wird die eine Infrastruktur aufgebaut, beide Infrastrukturen werden<br />
für einen gewissen Zeitraum parallel betrieben und anschließend wird die „alte― Infrastruktur<br />
abgeschaltet. Dabei ist wichtig zu prüfen, ob die an der Netzwerkkommunikation<br />
beteiligten Geräte wie Switche, Router und so weiter gegebenenfalls umkonfiguriert werden<br />
müssen.<br />
Eine Migration von Netzwerkdiensten ist aus heutiger Sicht technisch als unkritisch einzustufen.<br />
Die Netzwerkdienste sowohl in einer OSS Umgebung als auch in aktuellen<br />
Windowsumgebungen sind ausgereift und weltweit im Einsatz. Meistens werden die<br />
Netzwerkdienste nur dann geändert, wenn ein Wandel in der IT- Architektur durchgeführt<br />
wird. Alle hier aufgeführten Netzwerkdienste können auf allen gängigen Netzwerkinfrastrukturkomponenten<br />
betrieben und in einem Netzwerk angeboten werden. Da bei der<br />
Migration die funktionalen Unterschiede von besonderer Bedeutung sind, wird auf diese<br />
im Rahmen der Migrationspfade eingegangen.<br />
2.1 Migration Netzdienste Windows NT/2000 nach Windows 2003<br />
In den folgenden Absätzen werden kurz die Neuerungen hinsichtlich der oben genannten<br />
Netzwerkdienste beschrieben, die mit der Einführung von Windows 2000 einhergehen.<br />
Seite 234
Eine Migration innerhalb einer Windowsinfrastruktur ist, bezogen auf die Netzwerkdienste,<br />
inzwischen problemlos durchzuführen. In der Regel wird dies durch ein Update von<br />
vorhandener Software (zum Beispiel durch Service Packs und Patches) oder durch die<br />
Neuinstallation von entsprechenden Servern erreicht. Bei der Nutzung von Service<br />
Packs oder Patches besteht jedoch die Gefahr, dass gegebenenfalls Softwareversionen<br />
der Netzwerkdienste eingespielt werden, die evtl. nicht zu allen genutzten Applikationen<br />
kompatibel sind. Dies ist insbesondere dann der Fall, wenn umfassende Service Packs<br />
eingespielt werden, die nicht ausschließlich zum Update der Netzwerkdienste vorgesehen<br />
sind. Daher sollten diese (genauso wie Neuinstallationen) auch auf Ihre Kompatibilität<br />
zu der IT-Infrastruktur und den genutzten Applikationen getestet werden.<br />
2.1.1 WINS<br />
Hinsichtlich WINS bietet Windows 2000/2003 keine architektonischen Neuerungen. In<br />
Windows 2000/2003 ist lediglich das Management der WINS Datenbank verbessert worden.<br />
2.1.2 DNS<br />
Die größten Änderungen durch die Einführung von Windows 2000/2003 hat der DNS<br />
Dienst erfahren. Der Hauptgrund hierfür ist, dass Windows 2000/2003 Active Directory<br />
als primäre Namensauflösung DNS benutzt beziehungsweise ohne DNS nicht funktioniert.<br />
Active Directory verwendet DNS u.a. zur Auffindung der Dienste hinsichtlich Anmeldung<br />
und Suche (LDAP Service, Global Catalog Service und Kerberos KDC). Für die<br />
Eintragung von Diensten muss das DNS sogenannte SRV Records gem. RFC 2052 unterstützen.<br />
Da das bisherige DNS statisch funktionierte (Einträge mussten manuell vorgenommen<br />
werden), ist in Windows 2000/2003 auch im Hinblick auf den angestrebten<br />
Wegfall von WINS eine dynamische Registrierung implementiert worden: Rechner können<br />
ihre A und SRV Records dynamisch eintragen. Die Implementierung folgt dabei dem<br />
RFC 2136 (Dynamic Update). Computer mit Windows 2000 und höher können sich<br />
selbst dynamisch registrieren (Realisierung im DHCP Client). Windows NT und Windows<br />
9x können das nicht. Sie benötigen die Hilfe eines Windows 2000 DHCP Dienstes. Das<br />
dynamische Registrieren impliziert eine architektonische Änderung der bisherigen DNS<br />
Implementierung, in der nur ein DNS Server (der primäre) die Zoneninhalte schreiben<br />
kann. Microsoft realisiert ein Multi-Master-Prinzip, indem es DNS ins Active Directory<br />
integriert. Die DNS Einträge sind somit Objekte der Datenbank des Active Directory und<br />
werden auf diese Weise repliziert. Eine dynamische Registrierung ohne Active Directory<br />
Integration existiert nicht. Die dynamische Registrierung kann durch Sicherheitsmechanismen<br />
reglementiert werden, sodass sich nur jene Computer registrieren können, die<br />
sich auch authentifizieren können (zum Beispiel Windows 2000 Clients der zugehörigen<br />
Domäne). Windows 2000/2003 unterstützt das sogenannte „Secure Update― gemäß<br />
GSS-API laut RFC 2078; die RFCs 2535 (Domain Name System Security Extensions)<br />
oder 2137 (Secure Domain Name System Dynamic Update) sind nicht realisiert.<br />
Seite 235
2.1.3 DHCP<br />
Hinsichtlich DHCP bietet Windows 2000/2003 einige nennenswerte Neuerungen. Unter<br />
Windows 2000/2003 werden die aktuellen RFCs 2131 (Dynamic Host Configuration Protocol,<br />
ehemals RFC 1541) und 2132 (DHCP Options and BOOTP Vendor Extensions)<br />
unterstützt. Neben dem verbesserten Management werden Multicast Scopes, benutzer-<br />
und herstellerspezifische DHCP Optionen sowie dynamisches BOOTP unterstützt.<br />
Eine weitere Neuerung ist die Integration von DHCP und DNS innerhalb eines Windows<br />
2000/2003 Netzwerkes. Clients mit Windows NT 4 oder älter unterstützen keine dynamische<br />
Registrierung ihrer DNS-Namen im Windows 2000/2003 dynamischen DNS. Sofern<br />
diese Clients ihre IP Konfiguration von einem Windows 2000/2003 DHCP Server beziehen,<br />
kann der DHCP Server die Registrierung im DNS übernehmen.<br />
2.2 Migration von Windows DNS (BIND 8) nach Linux BIND 9<br />
Eine Migration des Windows DNS zu Linux mit BIND 9 ist sowohl bei einer Ausgangssituation<br />
von DNS unter Windows NT als auch unter Windows 2000/2003 problemlos<br />
durchzuführen.<br />
In beiden Fällen ist die prinzipielle Vorgehensweise identisch; es ändert sich nur das<br />
Verfahren, um den neuen DNS Server mit Daten zu füllen und die BIND 9 Datenbank<br />
aufzubauen. Dieses prinzipielle Vorgehen sieht wie folgt aus:<br />
� Aufbau / Konfiguration eines neuen Servers.<br />
� Konfiguration (Anpassung von IP Adressen der DNS Server) von DHCP Servern<br />
(evtl. Clients bei festen IP Adressen). Eine Übernahme der Konfiguration des<br />
Servers ist in keinem Fall möglich, da hier deutliche syntaktische Unterschiede<br />
vorliegen.<br />
� Übernahme der Daten (Zoneneinträge) vom bestehenden Server auf den neuen<br />
Server.<br />
� Inbetriebnahme des neuen Servers inklusive DNS Dienst und Abschaltung des<br />
alten DNS Servers: Alle Windows Endgeräte können BIND 9 zur Namensauflösung<br />
nutzen. Daher ist der Einsatz eines Linux Servers (oder auch eines anderen<br />
Unix Servers) mit BIND 9 als DNS Server aus Sicht eines Windows Endgerätes<br />
unkritisch.<br />
Bei der Übernahme der Zoneneinträge von einem Server auf den anderen können je<br />
nach Ausgangssituation unterschiedliche Vorgehensweisen gewählt werden:<br />
� DNS unter Windows NT 4.0<br />
Da in diesem Fall kein dynamisches DNS unterstützt wird 194 , besteht nur die<br />
Möglichkeiten, entweder einen Zonentransfer durchführen oder die Zoneneinträge<br />
manuell zu übertragen. Im zweiten Fall ist zu beachten, dass die<br />
syntaktischen Vorgaben der neuen Umgebung einzuhalten sind. Bei der<br />
Verwendung eines Zonentransfers sollten die syntaktischen Unterschiede, trotz<br />
194 http://support.microsoft.com/kb/251370/de?spid=1131&sid=936<br />
Seite 236
der Tatsache, dass BIND 9 bezüglich syntaktischer und logischer Fehler nicht so<br />
„fehlertolerant― wie seine Vorgänger ist 195 , zu keinen Problemen führen, da BIND<br />
9 hierbei auf Basis der Zoneneinträge auf dem Windows DNS-Server selbst seine<br />
Zoneneinträge anlegt und dabei in der Regel die korrekte Syntax verwendet.<br />
� DNS unter Windows 2000/2003<br />
Bei dieser Ausgangssituation besteht neben den zuvor genannten Vorgehens-<br />
weisen noch die Möglichkeit, die Funktion des dynamischen DNS zu nutzen, die<br />
auch von BIND 9 unterstützt wird. Dabei wird der neue BIND 9 DNS-Server im<br />
Parallelbetrieb durch die Funktion des dynamischen DNS automatisch befüllt.<br />
2.3 Migration von Windows DHCP nach Linux DHCP<br />
Die Migration des DHCP Dienstes von Windows nach Linux kann ohne Unterbrechung<br />
des Betriebs in der Organisationseinheit verwirklicht werden, da der Linux DHCP Server<br />
parallel zum Windows DHCP Server aufgebaut werden kann. Eine parallele Nutzung von<br />
beiden Servern während der Migration ist zwar möglich, wird aber nicht empfohlen. Sollte<br />
dies nötig sein, ist darauf zu achten, dass die IP Bereiche, in denen der alte DCHP<br />
Server IP Adressen dynamisch vergibt, in dem neuen Server als reservierte Bereiche<br />
voreingestellt werden. Nachdem der alte Server abgeschaltet wurde, können diese Bereiche<br />
freigegeben werden, sofern eine positive Prüfung erfolgte, dass der Client keine<br />
IP Adresse aus diesem Bereich mehr in Anspruch nimmt. Diese Prüfung kann durch<br />
entsprechende Tools oder mit Hilfe des ping Befehls im Vorfeld durchgeführt werden.<br />
Bei einer Migration des DHCP Dienstes besteht prinzipiell immer die Gefahr, dass der<br />
neue DHCP Server IP Adressen in einem Bereich vergibt, die vom alten DHCP Server<br />
genutzt wurden. Hierdurch können doppelte IP Adressen im Netzwerk entstehen. Dieses<br />
Risiko kann, wie beschrieben, durch die entsprechende Konfiguration des DHCP Servers<br />
vermieden werden. Darüber hinaus gibt es auch Tools, die eine solche Migration<br />
unterstützen, indem sie zum Beispiel im Vorfeld einer IP Vergabe prüfen, ob die IP Adresse<br />
bereits im Netzwerk vorhanden ist.<br />
Es ist aber darauf zu achten, dass verschiedene Einstellungen des Windows DHCP Servers<br />
vor der Inbetriebname des Linux DHCP Servers auf diesen übertragen werden.<br />
Dies kann gegebenenfalls per Skript oder manuell erfolgen. Auf folgende Einstellungen<br />
muss geachtet werden:<br />
� Fest vergebene und im DHCP als reserviert markierte IP Adressen (dies sind in<br />
der Regel Drucker, Server, Netzwerkkomponenten usw.)<br />
� Gesperrte IP Bereiche (zum Beispiel für IP Segmente, die einer anderen Verwaltung<br />
unterliegen, aber Bestandteil der Infrastruktur einer Organisationseinheit<br />
sind)<br />
� Dauer der max-lease-time<br />
� Dauer der deafult-lease time<br />
195 http://www.oreillynet.com/pub/a/oreilly/networking/news/dnsandbind_0401.html<br />
Seite 237
Insbesondere sollte die Dauer der Lease Time während der Migration einheitlich sein.<br />
Lease Time ist die Dauer, in der der DHCP Client keine neue IP Adresse beim Server<br />
anfragt. Je nach verwendeten Clients (Laptops oder Desktops) beträgt die Lease Time<br />
üblicherweise 1 bis 5 Tage. Im Vorfeld einer Migration empfiehlt es sich, die Lease Time<br />
der Clients auf 1 Stunde herabzusetzen. Dies sollte entsprechend der größten eingestellten<br />
max-lease-time geschehen. Das heißt, wenn diese zum Beispiel auf 5 Tage eingestellt<br />
wurde, sollte diese Umstellung mindestens 6 Tage vor der geplanten Migration der<br />
DHCP Server durchgeführt werden. Dies sorgt dafür, dass Endgeräte, die beispielsweise<br />
ständig angeschaltet (zum Beispiel Drucker) sind, nach dem Abschalten des alten DHCP<br />
Servers innerhalb von maximal einer Stunde eine neue IP Adresse anfragen. Wird zum<br />
Beispiel der alte Server am Abend abgeschaltet, kann davon ausgegangen werden,<br />
dass alle Geräte, die über Nacht in Betrieb waren, am nächsten Morgen ihre IP Adresse<br />
von dem neuen DHCP Server bezogen haben. Diese Umstellung kann dann wieder zurückgenommen<br />
werden, nachdem alle Clients vom neuen Server IP Adressen bezogen<br />
haben.<br />
2.4 WINS/NetBIOS(Windows) nach Samba mit WINS/NMDB<br />
Die Namensauflösung für Windows-Dienste und -Rechner wird nach einer OSS-<br />
Migration durch den nmbd vom Samba-Paket übernommen. Dabei können einerseits die<br />
bei Windows üblichen broadcastbasierten Browserdienste sowohl als Client als auch als<br />
lokaler oder domänenweiter Master Browser genutzt werden. Andererseits kann der<br />
nmbd aber auch als WINS die Koordinierung der Browser über die Grenzen von Netzsegmenten<br />
hinweg leisten, die üblicherweise mit Routern, die keine Broadcasts durchlassen,<br />
verbunden sind. Der WINS Dienst wird bei einem SAMBA Server automatisch<br />
installiert und konfiguriert und steht sofort nach der Inbetriebnahme des Samba Servers<br />
zur Verfügung. Hierbei übernimmt ein SAMBA PDC die Rolle eines Master Browsers.<br />
Spezielle Anpassungen oder Konfigurationen sind in der Regel nicht notwendig, können<br />
aber individuell durchgeführt werden.<br />
3 Bezüge<br />
Für das Thema Netzwerkdienste sind bezüglich der Migration keine besonderen Bezüge<br />
zu benennen. Bei der Migration eines Netzwerkdienstes sollte klar sein, welche anderen<br />
Infrastrukturdienste und Anwendungen diesen benötigten und welche speziellen Funktionalitäten<br />
sie benötigen. Dies ist aber kein spezieller Punkt für die Bezüge sondern<br />
sollte Bestandteil der Anforderungsanalyse eines jeden Migrationsprojektes sein. Siehe<br />
hierzu auch Kapitel I.D 2.<br />
Seite 238
E Thema Dateiablage<br />
Für die physikalische Speicherung von Daten auf Plattensystemen von Servern werden<br />
Dateisysteme wie XFS, EXT4, FAT oder NTFS benötigt. Über die physikalische Speicherung<br />
hinaus werden noch weitere Funktionen für eine Dateiablage benötigt. Hierzu gehören<br />
u.a. die Vergabe von Zugriffsberechtigungen auf Datei- und Verzeichnisebene, das<br />
Verwalten von Quotas, Journaling-Funktionalitäten und gegebenenfalls Funktionen zur<br />
Verschlüsselung von Dateisystemen.<br />
1 Produkte / Technologien<br />
Anmerkung: Die Bezeichnung „Windows Server― bezieht sich in diesem Kapitel stets auf<br />
alle <strong>Version</strong>en von Windows Servern ab Windows NT4.0 Server bis zur aktuellen<br />
<strong>Version</strong> Windows Server 2003 R2. Wird von dieser Definition abgewichen, so wird die<br />
genaue <strong>Version</strong>sbezeichnung des Windows Servers aufgeführt.<br />
1.1 Linux und Samba mit SMB/CIFS und POSIX<br />
Erstmals im Jahre 1992 veröffentlicht, diente Samba dazu, einen Datenaustausch<br />
zwischen SunOS und Ultrix zu gewährleisten. 1999 wurde Samba in der <strong>Version</strong> 2.0<br />
veröffentlicht. Diese <strong>Version</strong> lief auch unter Linux und mit ihr wurden Benchmarktests<br />
gegenüber Windows NT 4.0 Server durchgeführt. Die Erweiterung um das SMB-<br />
Protokoll, das es, Windows Clients ermöglicht, auf die Daten zuzugreifen, wurde von<br />
Microsoft, SCO, IBM und Apple implementiert.<br />
Die aktuelle <strong>Version</strong>sreihe von Samba ist die <strong>Version</strong>sreihe 3. Diese wird zurzeit noch<br />
weiterentwickelt. Gleichzeitig wird eine Samba <strong>Version</strong> 4 entwickelt. Samba 4.0 alpha 1<br />
ist aktuell verfügbar, doch diese <strong>Version</strong> ist für den produktiven Einsatz noch nicht<br />
freigegeben. Am 11. September 2007 wurde die zurzeit letzte <strong>Version</strong> von Samba mit<br />
der <strong>Version</strong>snummer <strong>3.0</strong>.26a veröffentlicht. Die Veränderungen zur Vorgängerversion<br />
können unter http://de.samba.org/samba/ nachgeschlagen werden. Gemäß der unter<br />
http://samba.sernet.de/ 196 veröffentlichten Erklärung des Samba-Teams werden alle<br />
<strong>Version</strong>en ab der <strong>Version</strong> 3.2 unter der GNU General Public License in der <strong>Version</strong> 3<br />
veröffentlicht. Demnach sollte die aktuelle <strong>Version</strong> noch unter GPLv2 stehen.<br />
Samba ist in mehrerer Hinsicht ein Nachbau des Windows Server Dienstes für Dateiablage,<br />
Druckdienste und Authentifizierung. Für die Anwender stellt sich Samba in größter<br />
Näherung genau wie ein Windows Server dar. Für die Administratoren ist Samba andererseits<br />
ein UNIX-Server. W2K / Windows 2003 als Produktnachfolger von Windows NT<br />
4.0 Server bringt für die Anwender kaum mehr Änderungen bezüglich des Windows Servers<br />
als ein Samba-Server. Für die Administratoren ergeben sich allerdings u.a. mit der<br />
Einführung von Active Directory mit den Komponenten DNS, LDAP und Kerberos umfangreiche<br />
Änderungen.<br />
Der Samba-Server erfüllt wie ein Windows Server die Anforderungen an eine Dateiablage.<br />
Die Benutzer von Windows-Clients können ihre Benutzerprofile und Logon-Scripts<br />
196 Stand 01.11.2007<br />
Seite 239
ebenso von einem Samba-Server beziehen wie ihre Heimat- oder Gruppenverzeichnisse.<br />
Die ausführbaren Programme (.exe) können auch auf einem Samba-Server abgelegt<br />
(und von dort gestartet) werden, wie Access Datenbankdateien oder andere durch Lock-<br />
Mechanismen für den Mehrbenutzerbetrieb vorgesehene Dateien.<br />
Im Unterschied zu einem Windows Server verwendet Samba als Netzwerkprotokoll ausschließlich<br />
TCP / IP. Für die auf den Protokollen SPX / IPX (Novell) und Appletalk (Apple)<br />
basierenden Dienste existieren andere Open Source Server (Mars und Netatalk), die<br />
in einer heterogenen Netzwerkumgebung das Arbeiten auf einem gemeinsamen Datenbestand<br />
ermöglichen. Eine auf dem alten NetBEUI basierende Implementierung von<br />
SMB wird von Samba nicht angeboten. Auch NetBIOS über IPX wird nicht unterstützt.<br />
Die clientseitig unter Windows üblichen Werkzeuge zur Bearbeitung / Verwaltung der<br />
Dateien auf der Dateiablage stehen weiterhin zur Verfügung. Insbesondere können der<br />
Explorer und der Datei Manager sowie die mit Windows mitgelieferten Kommandozeilenprogramme<br />
cacls.exe, zum Setzen der Access Control Lists und xcacls.exe für denselben<br />
Zweck unter Windows 2000/2003 Server und so weiter verwendet werden. Auch<br />
der Benutzermanager kann mit Samba <strong>3.0</strong> weiter genutzt werden. Der Einsatz des Servermanagers<br />
ist im Prinzip möglich, eignet sich jedoch aufgrund der damit verbundenen<br />
Abkehr von der transparenten Serverkonfiguration mittels der Konfigurationsdatei<br />
smb.conf wenig.<br />
Die Herstellung der Verbindungen zu den Freigaben lässt sich ohne Änderung weiterhin<br />
durch Logon-Scripts automatisiert oder durch Browsen der Netzwerkumgebung interaktiv<br />
durchführen.<br />
Das Rechtesystem von Samba und Linux ermöglicht es, privilegierten Prozessen wie<br />
zum Beispiel einem Virenscanner auf dem Server lokal Zugang zu allen Dateien in den<br />
Heimatverzeichnissen der Benutzer zu gewähren und gleichzeitig den Zugriff über das<br />
entsprechende Netzlaufwerk ausschließlich dem Benutzer selbst zu gestatten.<br />
Auch in Umgebungen mit Windows Terminalservern lässt sich der Samba-Server zur<br />
Dateiablage und zur Authentifizierung verwenden. Allerdings werden die für Terminalserver<br />
spezifischen Security-Account-Manager (SAM) - Objekterweiterungen von Samba<br />
nicht unterstützt.<br />
Die Behandlung von Dateisperren (Locking sowohl auf komplette Dateien als auch auf<br />
Teilbereiche dieser) wird von Samba exakt wie vom Windows Server geleistet. Das<br />
heißt, dass sowohl die kooperative Bearbeitung von Dateien als auch die Benutzung von<br />
dateibasierenden Datenbanken mit Samba ebenso möglich ist wie mit einem Windows<br />
Server.<br />
Die Quotierung von Plattenplatz (sowie von anderen Systemressourcen) wird durch das<br />
Linux-Betriebssystem angeboten und steht damit auch für die vom Samba-Server angebotene<br />
Dateiablage zur Verfügung.<br />
Seite 240
Für Datensicherung und <strong>Version</strong>ierung / Archivierung stehen unter Linux verschiedene<br />
Open Source Tools zur Verfügung. Zusätzlich lassen sich Linux-Server problemlos in die<br />
Sicherungskonzepte der meisten marktüblichen Produkte einbinden 197 .<br />
Eine Hochverfügbarkeit, wie sie unter Windows durch Clustering mit der Enterprise Edition<br />
erreicht wird, lässt sich mit Samba ebenfalls auf Basis von Distributed Block Devices<br />
(DRBD), shared iSCSI oder Storage Area Network (SAN) mit IP Failover realisieren.<br />
Die funktionalen Einschränkungen bezüglich der Vorgängerversionen von Samba 3.x<br />
konnten inzwischen deutlich reduziert werden. Mit der Samba <strong>Version</strong> <strong>3.0</strong> ist es möglich,<br />
zwischen Master- und Ressourcendomänen Vertrauensstellungen aufzubauen und das<br />
Windows NT Domänenkonzept zu realisieren. Die <strong>Version</strong> <strong>3.0</strong> eröffnet auch die Möglichkeit,<br />
den Windows Benutzermanager zur Benutzer-Administration einzusetzen. Beispielsweise<br />
können so neue Benutzer angelegt werden.<br />
Eine Möglichkeit zur Replikation zwischen Windows-Domänen-Controller und Samba-<br />
Domänen-Controller besteht weiterhin nicht, innerhalb einer Domäne können somit nur<br />
reine Windows beziehungsweise Samba-Domänen-Controller eingesetzt werden. Falls<br />
die Integration von Windows-Serverdiensten in einer Samba-Domäne notwendig ist,<br />
können diese als Mitgliedserver integriert werden. Die SAM-Replikation in einer reinen<br />
Samba-Domänen-Controller Umgebung ist problemlos durch die Kombination von Samba<br />
und OpenLDAP möglich. Für die Funktionalität der SAM-Replikation ist die Kombination<br />
von Samba und OpenLDAP 198 unverzichtbar. OpenLDAP dient Samba zur Verwaltung<br />
der Gruppen und Benutzern und bietet auch die notwendigen Replikationsmechanismen.<br />
1.1.1 Zugriffssteuerung: Abbildung der Rechteprofile von Windows auf POSIX<br />
Access Control Lists (ACL)<br />
Die Regelung der Zugriffsrechte auf Verzeichnisse und Dateien durch einen Samba-<br />
Server entspricht im Wesentlichen den von Windows Server bekannten Prinzipien. Auch<br />
unter Samba werden einzelne Verzeichnisse aus dem Dateisystem des Servers als Shares<br />
im Netzwerk zur Verfügung gestellt. Die Details der Zugriffsregelung werden auf<br />
Grundlage der im serverseitig verwendeten Dateisystem festgelegten Rechte für einen<br />
jeweils individuell beim Samba-Server authentifizierten Benutzer ermittelt. Die Autorisierung<br />
ist also ein Zusammenspiel zwischen dem Samba-Server und dem Betriebs-<br />
beziehungsweise dem Dateisystem.<br />
Shares (Freigaben) und ihre serverseitigen Eigenschaften wie Verzeichnispfad, Gewährung<br />
von anonymem Zugriff und allgemeiner Schreibschutz sind unter Samba typischerweise<br />
in einer für jede Serverinstanz eindeutigen Konfigurationsdatei geregelt und ausgewiesen.<br />
Die Bearbeitung dieser Konfigurationsdatei kann auch über ein Web-Fontend<br />
durchgeführt werden. Es ist zu empfehlen, im Vorfeld eine entsprechende Authentifizierung<br />
/ Autorisierung mit verschlüsseltem Protokoll HTTPS durchzuführen.<br />
197 Im Vorfeld ist jedoch eine genaue Evaluierung der Produkte vorzunehmen, da es auch Produkte<br />
gibt die Probleme mit der Sicherung von ACLs aufweisen. Dieses Problem gilt zum<br />
Beispiel beim Einsatz von NetBackup (Veritas) beim Sichern XFS ACLs. Ext3 ACLs werden<br />
in diesem Produkt allerdings unterstützt.<br />
198 Es können auch andere LDAP Verzeichnisdienste genutzt werden.<br />
Seite 241
Zugriffsrechte auf Verzeichnisse und Dateien werden bei allen Betriebssystemen in der<br />
funktionalen Betriebssystemkomponente des Dateisystems abgehandelt. Während es<br />
beim FAT Dateisystem von DOS und älteren Windows-<strong>Version</strong>en noch kein Eigentümerkonzept<br />
für Dateien gab, werden unter UNIX seit jeher und unter Windows mit dem Dateisystem<br />
NTFS Eigentümer und Benutzergruppen für Dateien unterschieden. Welche<br />
Benutzer mit welchen Verzeichnissen und Dateien auf welche Art umgehen dürfen, wird<br />
vom Dateisystem über eine Liste von Zugriffsrechten, sogenannte Access Control Lists<br />
gesteuert.<br />
Unter UNIX sind für alle Dateien mindestens die Zugriffsrechte zum Lesen, Schreiben<br />
und Ausführen für den Eigentümer, eine Eigentümergruppe und alle übrigen Systembenutzer<br />
definiert. Zusätzliche Einschränkungen oder die Gewährung von Rechten für andere<br />
Benutzer oder Benutzergruppen können bei einigen UNIX / Linux Dateisystemen<br />
über erweiterte Attribute und POSIX Access Control Lists realisiert werden.<br />
Samba als Fileserver hält seine Daten in einem UNIX Dateisystem und greift mit den<br />
effektiven Rechten des jeweils für einen Zugriff authentifizierten Benutzers auf die Daten<br />
zu. Der Samba-Server kann theoretisch zusätzliche Beschränkungen für den Zugriff<br />
auflegen, über die im Dateisystem festgelegten Beschränkungen kann sich der Server<br />
aber in keinem Fall hinwegsetzen. Sowohl bei der Übermittlung der bestehenden<br />
Zugriffs-rechte vom Server an den Client als auch bei der Manifestierung von clientseitig<br />
initiierten Änderungen verwendet der Samba-Server den Rechtekanon des Dateisystems,<br />
in dem er die Benutzerdaten ablegt und verwaltet. Deshalb muss bei einer<br />
Migration das Rechtemodell von Windows in die UNIX-Welt überführt werden. Im<br />
Folgenden wird beschrieben, wie diese Abbildung vor sich geht und welche Besonderheiten<br />
und Einschränkungen dabei zu beachten sind. Die Autoren des Leitfadens gehen<br />
dabei davon aus, dass unter Linux ein Dateisystem mit Unterstützung für POSIX-ACL<br />
verwendet wird. Zurzeit sind das die Dateisysteme XFS, JFS sowie mit entsprechenden<br />
Mount-Optionen reiserfs, EXT2 und EXT3.<br />
1.1.2 Abbildung der NTFS-ACL in das Rechtesystem von Linux<br />
Bei der Abbildung der Windows ACL auf die POSIX ACL von Linux wird das Rechtesystem<br />
so weit reduziert, dass das Bild im Wesentlichen der einfachen Darstellung in den<br />
Sicherheitseinstellungen entspricht.<br />
POSIX ACLs kennen nur Rechte zum Lesen, Schreiben und Ausführen. Verschiedene<br />
Arten zu unterscheiden wie Daten schreiben, Daten anhängen, Attribute schreiben und<br />
Erweiterte Attribute schreiben gibt es bei den POSIX ACL nicht. Bei der Abbildung des<br />
Rechtesystems von Windows über Samba nach UNIX können deshalb immer nur<br />
komplette Aggregationen der Windows Rechte im UNIX Dateisystem abgebildet werden.<br />
Umgekehrt kann der Samba-Server auch nur solche Rechte-Aggregationen an den<br />
Windows-Client melden.<br />
Seite 242
W<br />
I<br />
N<br />
D<br />
O<br />
W<br />
S<br />
Ordner durchsuchen /<br />
Datei ausführen<br />
Ordner auflisten / Daten<br />
lesen<br />
Seite 243<br />
POSIX Berechtigungen<br />
Lesen Schreiben Ausführen<br />
X<br />
Attribute lesen X (X) 199<br />
Erweiterte Attribute lesen X<br />
Dateien erstellen / Daten<br />
schreiben<br />
Ordner erstellen / Daten<br />
anhängen<br />
Attribute schreiben X<br />
Erweiterte Attribute<br />
schreiben<br />
Unterordner/<br />
Dateien löschen<br />
Löschen<br />
Berechtigungen lesen X X X<br />
Berechtigungen ändern<br />
Besitz übernehmen<br />
Tabelle 43: POSIX-Berechtigungen und Windows-Aggregationen<br />
Auf der Anwenderseite können mit den Windows-Dialogen durch Kombination der<br />
passenden NTFS-Berechtigungen die entsprechenden Kombinationen der POSIX-<br />
Berechtigungen erzeugt werden. Dabei ist zu beachten, dass das Setzen einer<br />
zusätzlichen NTFS-Berechtigung aus der Windows-Liste zum Setzen aller Berechtigungen<br />
des POSIX-Aggregats führt, zu dem auch das so gesetzte NTFS-Recht gehört.<br />
Wenn also beispielsweise für eine Datei, auf die bisher nur lesender Zugriff möglich war,<br />
in dem Dialog Berechtigungseintrag die Berechtigung Attribute schreiben gesetzt wird,<br />
so erweitert der Samba-Server automatisch die Rechte für Erweiterte Attribute schreiben,<br />
Daten schreiben und Daten anhängen. Nachdem also der Dialog mit OK beendet<br />
wurde, erscheint sofort beim nächsten Öffnen des Dialogfensters die neue, wesentlich<br />
erweiterte Rechteausstattung. Das Vorteilhafte daran ist, dass dieses Verhalten des<br />
Samba-Servers Fehlinterpretationen der einfachen Rechtedarstellung nicht zulässt.<br />
In der vereinfachten Darstellung der Sicherheitseinstellungen ist das Bild konsistent. Hier<br />
können die Berechtigungen Lesen und Schreiben einzeln und gemeinsam gesetzt<br />
werden sowie jeweils in Kombination mit Lesen/Ausführen. Letztere Sammelberechtigung<br />
kann nicht alleine gesetzt werden.<br />
199 Wird angezeigt, darf aber nicht gesetzt werden, sonst wird das gesamte Aggregat Lesen<br />
aktiviert.<br />
X<br />
X<br />
X
Die NTFS-Berechtigungen Unterordner/Dateien Löschen, Berechtigungen ändern und<br />
Besitzrechte übernehmen sind unter POSIX ACLs nicht abbildbar und führen beim Setzen<br />
daher zu keinerlei Resultat auf dem Samba-Server (in der Tabelle 43 abgegraut<br />
dargestellt). Bei Vollzugriff, also den kompletten Lese-, Schreib- und Ausführberechtigungen<br />
sind sie allerdings auch als gesetzt markiert.<br />
W<br />
I<br />
N<br />
D<br />
O<br />
W<br />
S<br />
Seite 244<br />
POSIX Berechtigungen<br />
Lesen Schreiben Lesen und<br />
Ausführen<br />
Lesen und<br />
Schreiben<br />
Lesen,<br />
Schreiben<br />
und Ausführen<br />
Vollzugriff X<br />
Ändern X<br />
Lesen/ Ausführen X X<br />
Ordnerinhalt<br />
auflisten<br />
(nur für Ordner)<br />
X<br />
(nur für<br />
Ordner)<br />
X<br />
(nur für<br />
Ordner)<br />
Lesen X X X X<br />
Schreiben X<br />
Tabelle 44: POSIX- und Windowsberechtigungen<br />
1.1.3 Abbildung der Vererbungsfunktion<br />
Die POSIX-ACL Implementation verfügt lediglich über passive Vererbung. Eine aktive<br />
Vererbung wie im NTFS ist nicht abbildbar. Samba bietet jedoch die Möglichkeit, auf<br />
einzelnen Shares die Vererbung von ACLs zu aktivieren. Hierbei werden allerdings nur<br />
die Default-ACLs vererbt, nicht die „normalen― Datei ACLs, wobei die Vererbung nur für<br />
neu erstellte Dateien gilt. In der Praxis führt dies aber fast nie zu Problemen, da das<br />
bestehende Rechtemodell mit einem Umstieg in der Regel evaluiert wird und diese<br />
anschließend genauso regelmäßig zu einer Restrukturierung und gern gesehenen<br />
Vereinfachung führen. Sollte trotzdem der Wunsch bestehen, das bestehende<br />
Rechtemodell zu übernehmen, dann kann es durch die „eingeschränkte― Vererbung<br />
vorkommen, dass entsprechende Attribute nach einer Migration von Hand durch den<br />
Administrator ersetzt werden müssen.<br />
1.1.4 Abbildung des Attributsystems<br />
Die Attribute, die unter Unix nicht vorhanden sind, können auf verschiedene Weise<br />
abgebildet werden. Dabei wird das Flag Schreibgeschützt nicht wirklich benötigt, weil es<br />
im normalen Berechtigungssystem bereits enthalten ist. Es wird daher für Dateien und<br />
Verzeichnisse ohne Schreibberechtigung automatisch angezeigt. Die Flags Archiv,<br />
Versteckt und System können durch das nicht verwendete Execute Bit des Unix-Dateisystems<br />
abgebildet werden und sind daher vorhanden. Die Attribute Komprimiert und<br />
Verschlüsselt sind nicht abbildbar. Sie können allerdings über spezielle Dienste unter<br />
Unix zur Verfügung gestellt werden.
1.1.5 Abbildung der Überwachungsfunktionen<br />
Das Auditing-System ist fest in Windows integriert. Es ist unter Unix mit anderen Mechanismen<br />
nachbildbar. Für den Samba-Server lässt sich das Auditing über ein VFS-Modul<br />
realisieren. Damit werden dann die Zugriffe auf Dateien und Verzeichnisse durch den<br />
Samba-Server protokolliert. Auf der Ebene des Dateisystems hat ein Auditing in dieser<br />
Form bislang nicht Einzug in den Linux-Kernel gefunden, obwohl mehrere Anläufe für<br />
eine Implementierung versucht wurden und in den vorhandenen Strukturen entsprechende<br />
Voraussetzungen für erweiterte Attribute bei den Linux-Dateisystemen vorhanden<br />
sind. In der Praxis scheint diese Funktionalität jedoch so wenig Bedeutung zu haben,<br />
dass alle Versuche bisher aus Mangel an Interesse nicht weiter aktiv verfolgt worden<br />
sind. Allerdings ist es über Security-Erweiterungen wie zum Beispiel SE-Linux<br />
durchaus möglich, zumindest ein teilweises Auditing auch für die unterhalb von Samba<br />
stattfindenden Dateisystemzugriffe zu realisieren.<br />
1.1.6 Zusammenfassung der wichtigsten Folgen bei Verwendung von Samba<br />
mit POSIX ACLs<br />
Für Schreiben als abstraktes Recht gilt:<br />
� zwischen Daten schreiben und anhängen wird nicht unterschieden<br />
� bei Ordnern wird ebenso nicht zwischen dem Erstellen von Ordnern und dem<br />
Erstellen von Dateien unterschieden<br />
� das Schreiben von Ordnern beziehungsweise Dateien und Attributen wird nicht<br />
unterschieden.<br />
Für das Lesen als abstraktes Recht gilt:<br />
� das Lesen von Ordnern beziehungsweise Dateien und von Attributen wird nicht<br />
unterschieden.<br />
� Prinzipiell gilt, dass das Lesen von Berechtigungen immer erlaubt ist. Generell<br />
sind weder Überwachung noch aktive Vererbung implementiert. Bei der Vererbungen<br />
gelten die Einschränkungen wie oben beschrieben.<br />
1.1.7 Benutzergruppen und Zugriffsrechte<br />
Insbesondere bei den von Arbeitsgruppen gemeinsam genutzten Freigaben spielt die<br />
Vergabe von Zugriffsrechten an Gruppen eine herausragende Rolle. Unter NT werden<br />
(Server-)lokale und globale Gruppen unterschieden. Lokale Gruppen können als Alias-<br />
Definitionen verstanden werden, die auf eine oder mehr globale Gruppen verweisen. Auf<br />
diese Weise können lokale Gruppen mehrere globale Gruppen enthalten. Unter Samba<br />
(wie unter UNIX / Linux allgemein) ist eine Verschachtelung von Gruppen nicht möglich.<br />
Mit Samba lassen sich lediglich alle UNIX-Gruppen 1:1 als globale Gruppen für Windows<br />
Clients und Member-Server darstellen.<br />
Diese globalen Gruppen können auf Windows-Member-Servern natürlich wieder in lokale<br />
Gruppen eingehen. Damit stehen auf solchen Servern weiterhin die Modelle B-G-L-R<br />
und B-G-R zur Verfügung, wie sie im Abschnitt II.E 1.4 beschrieben werden.<br />
Seite 245
Die Einführung eines Konzepts von lokalen Gruppen auch für Linux-Server ist bislang<br />
nicht geplant, sodass hier typischerweise nur das Modell B-G-R zum Einsatz kommt.<br />
Eine äquivalente Funktionalität lässt sich mit entsprechender Business-Logik in einer<br />
LDAP-basierten Gruppenverwaltung realisieren.<br />
1.1.8 Abschätzung der Auswirkungen für die Benutzer<br />
Bei der Abbildung der Windows-ACL auf die POSIX-ACL geht die feine Granularität<br />
verloren, in der die Rechte unter Windows modifiziert werden können. Allerdings werden<br />
in der Praxis überwiegend nur die wesentlich einfacheren Sammelberechtigungen der<br />
einfachen Sicherheitseinstellungen verwendet.<br />
Die weiteren, abgestuften Berechtigungen kommen nur in Einzelfällen zur Anwendung.<br />
Besonders die Unterscheidung zwischen den Attribut- und den Dateirechten wird<br />
äußerst selten verwendet.<br />
Auch die Berechtigung Daten anhängen wird nur in wenigen Fällen sinnvoll nutzbar sein.<br />
Diese Berechtigung kann bei Verwendung eines Extended 2/3 Dateisystems unter Linux<br />
auch als erweitertes Attribut auf der Kommandozeile für ausgewählte Dateien gesetzt<br />
werden.<br />
Durch die konsistente Abbildung des einfacheren Rechtemodells der POSIX ACLs wird<br />
das Bild der einfachen Sicherheitseinstellungen für den durchschnittlichen Benutzer zuverlässiger<br />
und für die Administratoren erheblich vereinfacht, ohne dabei wesentliche<br />
Funktionalität zu verlieren.<br />
Bestimmte Funktionen, wie die aktive Vererbung und Auditing des Dateisystems können<br />
nur teilweise, wie im obigen Text beschrieben, nachgebildet werden und bedürfen zur<br />
Abbildung gegebenenfalls zusätzliche Software.<br />
Die Sicherheit der Dateiablage unter Samba ist nur bedingt abhängig von den Funktionen,<br />
die Samba bietet. Dies liegt daran, dass Samba mit unterschiedlichen Unix Distributionen<br />
verbunden werden kann. Wenn diese „unsicher― eingestellt sind, so wirkt sich dies<br />
natürlich auch auf die Dateiablage aus. Mit Samba unter Linux ist der Zugriff auf Dateisysteme<br />
mit Festplattenverschlüsselung möglich.<br />
Zusammenfassen lässt sich sagen, mit Samba unter Linux ist es möglich, für heterogene<br />
Systemlandschaften eine zentrale Datenablage zu realisieren. Dabei müssen jedoch die<br />
unterschiedlichen Umsetzungen von Zugriffsrechten auf Dateien bei Windows und Linux<br />
mit Samba beachtet werden. Im Zusammenspiel mit den entsprechenden Verzeichnisdiensten<br />
ist auch eine Benutzerverwaltung und Verteilung von Zugriffsrechten in großen<br />
Netzwerken unproblematisch.<br />
Inwieweit die Änderung oder Entwicklung in der einen oder anderen Richtung als<br />
einfacher oder vorteilhafter bewertet oder empfunden wird, hängt nicht zuletzt von den<br />
beteiligten Personen selbst ab. Eine Migration zu Samba, Linux und Open Source<br />
eröffnet neue Freiheitsgrade. Ein solcher Schritt zur Emanzipation von den Vorgaben<br />
und Best Practices eines Herstellers bringt dem einzelnen Administrator neben mehr<br />
Freiheit auch mehr Eigenverantwortung.<br />
Seite 246
1.2 Linux-Server mit NFS<br />
NFS (Network File Service) ist ein Netzwerkprotokoll, das von SUN Microssystems entwickelt<br />
wurde, um im UNIX Umfeld Verzeichnisse und Dateien freizugeben. Seitdem<br />
SUN keine Weiterentwicklung des Protokolls betreibt, übernahm die IETF die Verantwortung<br />
zur Weiterentwicklung. NFS ist in den drei RFC 1094, RFC 1813 und RFC 3530<br />
beschrieben. Der RFC 1094 wurde im März 1989 von Sun Microsystems veröffentlicht.<br />
Bisher wurden folgende <strong>Version</strong>en veröffentlicht:<br />
� NFS 2<br />
� NFS 3<br />
� NFS 4<br />
NFS heißt zwar Filesystem (FS), ist aber eher ein Protokoll. NFS geht davon aus, dass<br />
es auf ein bestehendes Filesystem zurückgreifen kann. Dies können Filesysteme wie<br />
ReiserFS, EXT4 (Nachfolgeversion von EXT3) oder XFS sein. Über NFS lassen sich so<br />
auch verteilte File Systeme (Distributed File Systems) realisieren. Theoretisch könnten<br />
diese dann auch heterogen sein. In der <strong>Version</strong> 3 ist NFS noch zustandslos, was aus<br />
Sicherheitsaspekten jedoch nicht wünschenswert ist. Daher ist ein Einsatz von NFS ohne<br />
zusätzliche Schutzmechanismen nur in geschlossenen Netzen zu empfehlen. Clients<br />
benötigen zum Zugriff auf diese Freigaben immer einen NFS Client. Dieser ist bei allen<br />
Unix Clients implementiert. Für Microsoft Betriebssysteme ist ein NFS Client über das<br />
Microsoft Windows Services für UNIX (SFU) 3.5 Erweiterungspaket erhältlich. Dieses<br />
Paket kann unter Windows2000, Windows XP und Windows2003 R2 genutzt werden.<br />
NFS bietet die Möglichkeit des Zugriffs auf ein Dateisystem sowohl für Windows als auch<br />
für Unix Clients. Darüber hinaus besteht durch NFS die Möglichkeit, verteilte Filesysteme<br />
in einem Netzwerk anzubieten. Das heißt, der Anwender muss nicht wissen, auf welchen<br />
physikalischen Festplatten sich zum Beispiel ein Verzeichnis befindet. Der Anwender<br />
greift auf die Daten in dem Verzeichnis zu und das System übermittelt die Daten dann<br />
zum Anwenderrechner, nachdem die Daten von NFS logisch zusammengeführt wurden.<br />
Um auf ein NFS Laufwerk zugreifen zu können, muss der Anwender sich mit diesem<br />
verbinden. Diese Herstellung einer Verbindung wird „mounten― genannt. Wenn ein Laufwerk<br />
oder Verzeichnis gemountet ist, stehen dem Anwender alle dort befindlichen Daten<br />
zur Verfügung. Allerdings bietet NFS sehr unzureichende Zugriffsteuerungen auf die<br />
freigegeben Verzeichnisse, da NFS die Unix „mode bits― zur Zugriffssteuerung nutzt.<br />
Man kann zwar unter Linux mit NFS den Zugriff auf die einzelnen Dateien mit Hilfe der<br />
implementierten ACLs steuern, aber damit ist keine Steuerung der Freigabe möglich.<br />
Seit der <strong>Version</strong> NFSV4 ist das Protokoll nicht mehr zustandslos. Dadurch wird die Programmierung<br />
von Netzwerksicherungen insofern erheblich vereinfacht, indem sich das<br />
Protokoll den Zustand einer vorangegangenen Transaktion „merkt―. So lässt sich zum<br />
Beispiel festzustellen, ob ein bestimmter, nicht autorisierter Zugriff immer wieder versucht<br />
wird, der dann nach einer definierten Anzahl von Versuchen abgeblockt wird.<br />
Unter Windows und OS/2 wurde die Funktionalität von NFS über das sogenannte Server<br />
Message Block Protokoll (SMB) realisiert. Mit diesem Protokoll ist eine Benutzerauthentisierung<br />
möglich. NFS V3 authentifiziert nur den Client Rechner. Dies wurde mit<br />
Seite 247
der <strong>Version</strong> NFS V4 geändert, sodass unter NFS4 auch eine Benutzerauthentifizierung<br />
möglich ist.<br />
Linux Server mit NFSV3 sollten nur in geschlossenen Netzwerken, das heißt in Netzwerken<br />
ohne Verbindung zu öffentlichen Netzen, eingesetzt werden. Mit NFS4 ist jedoch<br />
auch eine Nutzung des Protokolls in offenen Netzen möglich.<br />
Um eine Zugriffssteuerung auf die freigegebenen Verzeichnisse zu gestatten, empfiehlt<br />
sich der Einsatz eines Linux Servers mit NFS in Kombination mit SAMBA beziehungsweise<br />
LDAP. Über die Sicherheitsmechanismen der Server wird die Schwachstelle im<br />
NFS geschlossen.<br />
Im Ergebnis ist es mit dem NFS Protokoll möglich, Datenfreigaben und verteilte Datei-<br />
Systeme in einer heterogenen Landschaft anzubieten. Allerdings müssen die vorhandenen<br />
sicherheitsrelevanten Schwächen des Protokolls berücksichtigt werden. Für<br />
geschlossene Systeme, zum Beispiel Testumgebungen kann der Einsatz von NFS<br />
sinnvoll sein, um den administrativen Aufwand gering zu halten.<br />
Für die Dateiservices innerhalb einer rein linuxbasierten Systemlandschaft wird das<br />
bewährte Network File System (NFS) empfohlen. NFS wird traditionell für die netzwerkgestützte<br />
Dateiablage in UNIX-Netzwerken eingesetzt. NFS ist das Standardprotokoll,<br />
wenn Verzeichnisse von verschiedenen Unix-Systemen gemeinsam genutzt<br />
werden sollen. Den Nutzern können mittels zentraler oder dezentraler Server die<br />
benötigten Verzeichnisbereiche zur Verfügung gestellt werden. Die exportierten<br />
Verzeichnisbäume werden auf den entsprechenden Arbeitsplatzrechner der Mitarbeiter<br />
automatisch eingebunden.<br />
Für eine physikalische Speicherung der Daten auf den Plattensystemen der eigentlichen<br />
Server werden die Dateisysteme XFS und EXT4 empfohlen. Beide Systeme unterstützen<br />
Journaling-Funktionalitäten, Quotas und die Vergabe von Zugriffberechtigungen auf<br />
Datei- und Verzeichnisebene.<br />
1.3 Linux-Server mit OpenAFS<br />
Entstanden ist OpenAFS aus dem von der Carnegie Mellon Universität entwickelten und<br />
von IBM weitergeführten AFS (Andrew File System). Da AFS zunächst keine weite Verbreitung<br />
fand, entschloss sich IBM zur Entwicklung und Freigabe einer <strong>Version</strong> für die<br />
Open Source Gemeinde. Zurzeit besitzt keine legale Einheit die Rechte am Source Code<br />
von AFS. Trotzdem findet es immer mehr Verbreitung. OpenAFS ist für alle gängigen<br />
Unix Distributionen sowie für Windows und Apple MAC OS X verfügbar.<br />
Die bei NFSv3 aus der Protokolldefinition stammenden und bekannten Schwachstellen<br />
wurden bei der Entwicklung von AFS berücksichtigt. Von Anfang an wurde bei der Entwicklung<br />
von AFS Wert darauf gelegt, diese oder ähnliche Schwachstellen nicht erneut<br />
zu implementieren. Die derzeit aktuelle <strong>Version</strong> ist die <strong>Version</strong> 1.5.25 200 .<br />
OpenAFS unterscheidet sich in seiner Architektur nicht von NFS. Das heißt, OpenAFS<br />
ist ebenfalls nach dem Client Server Prinzip aufgebaut und kann zum Aufbau von verteilten<br />
Datenablagesystemen genutzt werden.<br />
200 seit 20.09.2007; siehe http://www.openafs.org/).<br />
Seite 248
Das ganzheitliche Konzept von OpenAFS beinhaltet nicht nur die einfache Freigabe von<br />
Daten, sondern auch eine Kerberos basierte Authentifizierung, ferner die Datensicherung<br />
und eine für kryptografischen Komponenten nötige Synchronisation der Uhrzeit<br />
zwischen Clients und Servern. Das AFS-Netzwerkprokoll greift nicht auf das Format von<br />
Datenvolumen durch, auf dem die Daten abgelegt werden. Hierdurch kann die Dateistruktur<br />
des AFS Namensraums nicht über das Betriebssystem eingesehen werden und<br />
die gleichzeitige Freigabe von Daten über SMB oder NFS für bestimmte Daten ist nicht<br />
möglich.<br />
Der Zugriff auf eine OpenAFS Freigabe erfolgt immer über einen entsprechenden Open-<br />
AFS Client, der auf der entsprechenden Workstation / Client installiert sein muss.<br />
OpenAFS bietet die Möglichkeit einer differenzierten Benutzerverwaltung. So können<br />
nicht nur Berechtigungen für die Freigabe der Verzeichnisse vergeben werden, sondern<br />
auch für die Ausführung von Befehlen zur Dateibearbeitung. Das heißt, es ist möglich,<br />
einem Benutzer Leserechte und einem anderen Benutzer Änderungsrechte auf einem<br />
Verzeichnis einzuräumen. Diese Zugriffsteuerung erfolgt über ACLs und ignoriert die<br />
unter Unix über „mode bits― eingestellten Berechtigungen. Die Berechtigungen können<br />
auch zu Benutzergruppen zusammengefasst werden.<br />
Rückblickend lässt sich zusammenfassen, dass OpenAFS die Sicherheitslücken von<br />
NFS schließt, und damit der Einsatz von OpenAFS in offenen Netzen gegenüber dem<br />
des NFS Protokolls zu bevorzugen ist. Auch wenn der Source Code zur Zeit keiner<br />
rechtlichen Einheit zugeordnet ist, gibt es einen sogenannten Ältestenrat, der über den<br />
Code wacht. Diesem Rat gehören sowohl Vertreter mehrere Universitäten als auch<br />
Vertreter aus der Wirtschaft an.<br />
Je nach Umfang einer clientseitigen Linux-Migration, rücken auch NFS und AFS in den<br />
Fokus der Alternativbetrachtungen. NFS und AFS sind in UNIX-Netzen verbreitet, für die<br />
Einbindung von Windows-Clients ist jedoch die Installation von spezieller Software auf<br />
allen Clients erforderlich. Ein NFS-Client ist unter anderem in Microsoft Windows Services<br />
for UNIX (SFU <strong>3.0</strong>) enthalten. Ein AFS-Client ist kostenlos und als Open Source von<br />
OpenAFS.org erhältlich. Für den Einsatz von NFS oder AFS in einer Umgebung mit<br />
Windows-Clients sind in jedem Fall tief greifende konzeptuelle Änderungen im Vergleich<br />
zur Dateiablage mit Windows NT erforderlich.<br />
1.4 Windows NT 4.0/2000/2003 mit NTFS<br />
Das NTFS (New Technology File System) System wurde von Microsoft entwickelt, um<br />
architektonische Schwächen, die das FAT System hatte, zu beheben. Inzwischen hat<br />
das NTFS System in der Microsoft Welt FAT und seine Nachfolger so gut wie abgelöst.<br />
Auf älteren Clients wird FAT gegebenenfalls noch verwendet. Auf neu installierten<br />
Clients sollte immer NTFS in einer aktuellen <strong>Version</strong> installiert sein.<br />
Das Filesystem NTFS wurde von Microsoft bisher in folgenden <strong>Version</strong>en herausgebracht:<br />
� NTFS 1.x mit Windows NT 3.x<br />
� NTFS 2.x mit Windows NT 4<br />
Seite 249
� NTFS <strong>3.0</strong> mit Windows 2000 (NT 5)<br />
� NTFS 3.1 ist aktuelle <strong>Version</strong> unter Windows XP und 2003.<br />
Mit Windows Vista hat Microsoft keine neue <strong>Version</strong> von NTFS eingeführt.<br />
Häufig finden sich auch Bezeichnungen wie NTFS 4 und NTFS 5, dies sind aber keine<br />
offiziellen <strong>Version</strong>snummern. Diese Bezeichnungen beziehen sich auf die jeweilige <strong>Version</strong><br />
des Betriebssystem NT4 (Windows NT 4.0 Server / Workstation) beziehungsweise<br />
NT5 (Windows 2000 Server / Workstation), mit der die jeweilige <strong>Version</strong> des NTFS ausgeliefert<br />
wurde. Um die Vergleichbarkeit zum <strong>Migrationsleitfaden</strong> <strong>Version</strong> 2.1 zu gewährleisten,<br />
werden in diesem Kapitel die Bezeichnung NTF4 und NTF5 beibehalten.<br />
NTFS ist Bestandteil der jeweiligen Betriebssysteme und unterliegt damit den Lizenzbedingungen<br />
für diese.<br />
In NTFS werden alle abgelegten Daten als eine Datei behandelt. Diese wird MFT<br />
(Master File Table) genannt. Hier werden die Informationen hinterlegt, welche Datenblöcke<br />
der Festplatte zu welcher Datei gehören. Auch die Zugriffinformationen und die<br />
Datei-attribute sind hier abgelegt (weiterhin wird auch der Inhalt einer Datei als Attribut<br />
angesehen).<br />
Im Folgenden wird auf den Nachfolger von Windows NT4.0 Server, Windows 2000<br />
Server und Windows Server 2003 R2 hinsichtlich des Themas „File Service― eingegangen.<br />
Zunächst erfolgt eine Beschreibung des NTFS 4 Filesystems, welches die<br />
Grundlage für die heutige Dateiablage und -Verwaltung unter Windows bildet. Im<br />
Weiteren werden dann die Neuerungen durch NTFS 5 dargestellt.<br />
1.4.1 Eigenschaften<br />
NTFS 4 besitzt u.a. folgenden Eigenschaften:<br />
Jeder Ordner und jede Datei verfügt über eine sogenannte Access Control List (ACL),<br />
die an der Datei oder dem Ordner gespeichert wird. In der ACL stehen sogenannte<br />
Access Control Entries (ACE), in dem die SID des Gruppen- oder des Benutzerkontos<br />
und die Berechtigung stehen. Über die ACL erfolgt somit die Zugriffssteuerung, die<br />
insgesamt granular aufgebaut werden kann. Die ACL ist in die Bereiche SACL (System<br />
Access Control List) und DACL (Discretionary Access Control List) zu unterscheiden: In<br />
der DACL sind die SIDs der Gruppen und Benutzer abgelegt, die auf das Objekt<br />
zuzugreifen dürfen beziehungsweise daran gehindert werden. In der SACL ist festlegt,<br />
wie das Sicherheitssubsystem die Zugriffe auf das Objekt überwacht.<br />
NTFS 4 unterstützt im Prinzip keine Vererbung; lediglich beim Neuerstellen einer Datei<br />
werden die Rechte des Ordners in die ACL der Datei kopiert. Ändern sich die Rechte<br />
des Ordners, muss explizit das Durchschreiben in die ACLs der beinhalteten Dateien<br />
angeordnet werden. Eine Besonderheit ist zu beachten: Eine Datei, die sich im UNC-<br />
Pfad \\server\freigabe\ordner\subordner befindet, kann von einem Anwender gelesen<br />
werden, obwohl der Ordner „ordner― das Lesen verbietet, der Ordner „subordner― es<br />
aber zulässt.<br />
Bezüglich der Länge der Pfadnamen gibt es kein Limit. Unterstützt werden Dateinamen<br />
mit bis zu 255 Zeichen. Die verwendeten Zeichen dürfen theoretisch dem Unicode-<br />
Zeichensatz (16bit) bis auf wenige Ausnahmen (zum Beispiel *, \) entnommen werden.<br />
Seite 250
Zu jedem Ordner und jeder Datei wird ein Kurzname gespeichert, welcher der 8.3-Konvention<br />
entspricht und automatisch vom Betriebsystem generiert wird. Während bei der<br />
Speicherung dabei zwischen Groß- und Kleinschreibung unterschieden wird, ist dies<br />
beim Zugriff auf die Datei in der Regel nicht der Fall.<br />
Jeder Ordner und jede Datei verfügt über Attribute in Form von Flags (schreibgeschützt,<br />
Archiv, System, versteckt und komprimiert) und über Angaben zu den Zeiten der ersten<br />
Erstellung, der letzten Änderung und des letzten Zugriffs. Der Komprimierungsgrad ist<br />
stark abhängig vom Inhalt.<br />
NTFS unterstützt die Technologie von Multiple Streams. Die Einsatzhäufigkeit ist relativ<br />
gering. Alternative Daten Streams werden z.T. auch von Schadprogrammen genutzt, da<br />
viele Virenscanner diese Streams nicht untersuchen und die Schadprogramme daher<br />
unentdeckt bleiben. Multiple Streams müssen von der jeweiligen Anwendung unterstützt<br />
werden beziehungsweise in dieser programmiert sein. Multiple Streams ermöglichen<br />
unter anderem die Speicherung der Ressource Folk von Macintosh-Dateien.<br />
Seit dem Service Pack 4 für Windows NT 4.0 Server werden innerhalb von NTFS Quotas<br />
unterstützt. Die Vergabe und Kontrolle der Quoten basiert auf der Besitzer-<br />
Eigenschaft und umfasst das gesamte Volumen (logisches Laufwerk des File Servers).<br />
Durch diese technischen Beschränkungen ist der Einsatz eher als ein Sonderfall und<br />
weniger als die Regel in bestehenden Umgebungen einzustufen.<br />
Die maximale Dateigröße ist unter NTFS 4 auf 2 TB (Terabyte) und die Größe des logischen<br />
Laufwerkes beschränkt. Das logische Laufwerk kann maximal 2 TB (theoretisch<br />
16 Exabyte) umfassen. Die tatsächliche Netto-Datenmenge hängt von der Clustergröße<br />
ab, die bei der Formatierung verwendet wurde. Die Anzahl der Dateien ist auf 2 32 -1 beschränkt.<br />
NTFS ermöglicht ein Auditing (Überwachen) der erfolgten Zugriffe beziehungsweise der<br />
Zugriffs-versuche. Auf diese Weise können zum Beispiel wiederholte, ungewünschte<br />
Löschungen von Dateien diagnostiziert werden.<br />
NTFS formatierte Datenträger werden im laufenden Betrieb defragmentiert. Eine automatische<br />
Korrektur (Selbstheilung) unter Windows NT 4.0 erfolgt nicht. Zu diesem Zweck<br />
müssen Produkte von Drittherstellern eingesetzt werden.<br />
1.4.2 Rechtesystem des NTFS<br />
Windows kennt insgesamt 13 Berechtigungen, die einem Objekt im Dateisystem (Datei<br />
oder Verzeichnis) pro Benutzer oder Gruppe zugeordnet beziehungsweise entzogen<br />
werden können.<br />
Diese sind:<br />
� Ordner durchsuchen / Datei ausführen<br />
� Ordner auflisten / Datei lesen<br />
� Attribute lesen<br />
� Erweiterte Attribute lesen<br />
� Dateien erstellen / Daten schreiben<br />
Seite 251
� Ordner erstellen / Daten anhängen<br />
� Attribute schreiben<br />
� Erweiterte Attribute schreiben<br />
� Unterordner und Dateien löschen<br />
� Löschen<br />
� Berechtigungen lesen<br />
� Berechtigungen ändern<br />
� Besitzrechte übernehmen.<br />
Änderungen an Zugriffsrechten werden über den Dialog Eigenschaften und dort auf der<br />
Karteikarte Sicherheitseinstellungen vorgenommen. In der Absicht, die Komplexität des<br />
Systems aus 13 eng verwandten Einzelberechtigungen vor dem Durchschnittsbenutzer<br />
zu verbergen, werden in dieser Karteikarte vordefinierte Aggregate, sogenannte Sammelberechtigungen,<br />
aus sinnvollen Kombinationen der Einzelberechtigungen zur Auswahl<br />
angeboten. Für Dateien gibt es fünf, für Verzeichnisse sechs solcher Sammelberechtigungen,<br />
die jeweils zugelassen oder verweigert werden können. Erst im Dialog<br />
Berechtigungseintrag der über die Buttons Erweitert/Anzeigen/Bearbeiten in den Sicherheitseinstellungen<br />
erreichbar ist, werden die 13 einzelnen Berechtigungen komplett dargestellt.<br />
Dabei ist die bei den Sicherheitseinstellungen gebotene Sicht auf die Sammelberechtigungen<br />
äußerst problematisch, weil die Darstellung sehr schnell das Fehlen von Rechten<br />
suggerieren kann, obwohl sie in Wirklichkeit vorhanden sind. So entsteht beispielsweise<br />
aus einem Vollzugriff, bei dem allein die Berechtigung zum Schreiben der erweiterten<br />
Attribute nicht zugelassen ist, in der einfachen Darstellung bei den Sicherheitseinstellungen<br />
das Bild eines Rechteprofils, das nur das Lesen und Ausführen erlaubt. Die<br />
folgende Tabelle zeigt, welche Kombinationen von Berechtigungen zu welcher Darstellung<br />
als Sammelberechtigung führen. Wohlgemerkt, wenn nur ein einziges Recht in diesen<br />
Aggregationen nicht gesetzt ist, enthält die entsprechende Checkbox für die Sammelberechtigung<br />
kein Häkchen mehr.<br />
Ordner durchsuchen<br />
/ Datei ausführen<br />
Ordner auflisten /<br />
Daten lesen<br />
Vollzugriff<br />
Windows Sammelberechtigungen<br />
Ändern Lesen &<br />
Ausführen<br />
Seite 252<br />
Ordnerinhalt<br />
auflisten<br />
X X X X<br />
X X X X X<br />
Attribute lesen X X X X X<br />
Erweiterte Attribute<br />
lesen<br />
Dateien erstellen /<br />
Daten schreiben<br />
X X X X X<br />
Lesen Schreiben<br />
X X X
Ordner erstellen /<br />
Daten anhängen<br />
Vollzugriff<br />
Windows Sammelberechtigungen<br />
Ändern Lesen &<br />
Ausführen<br />
Seite 253<br />
Ordnerinhalt<br />
auflisten<br />
Lesen Schreiben<br />
X X X<br />
Attribute schreiben X X X<br />
Erweiterte Attribute<br />
schreiben<br />
Unterordner/Dateien<br />
löschen<br />
Löschen X X<br />
Berechtigungen<br />
lesen<br />
Berechtigungen<br />
ändern<br />
X X X<br />
X<br />
X X X X X X<br />
X<br />
Tabelle 45: Eigenschaften der Windows Sammelberechtigungen<br />
Aufgrund der beschriebenen Inkonsistenzen wird im Folgenden ausschließlich die<br />
erweiterte Ansicht im Dialog Berechtigungseintrag betrachtet.<br />
1.4.3 Attributsystem<br />
Zusätzlich zu den Berechtigungen wird für Datei- und Verzeichnisobjekte noch eine Anzahl<br />
von sogenannten Attributen und erweiterten Attributen verwaltet.<br />
Name Bit Bedeutung<br />
Archiv A Datei wurde seit dem letzten Zurücksetzen des Attributes verändert <br />
Schreibgeschützt<br />
R Datei ist schreibgeschützt<br />
Versteckt H Datei wird nicht angezeigt<br />
System S Datei ist für das System reserviert<br />
Komprimiert C Datei/ Ordner wird auf dem Medium komprimiert gespeichert<br />
Verschlüsselt E Datei/ Ordner wird auf dem Medium verschlüsselt gespeichert<br />
1.4.4 Überwachung<br />
Tabelle 46: Windows Attribute<br />
Windows verfügt über weitreichende Überwachungsmöglichkeiten auf der Datei- und<br />
Verzeichnisebene. So können alle Berechtigungen einzeln pro Benutzer oder Gruppe<br />
überwacht werden. Die daraus resultierenden Informationen werden im Sicherheitsprotokoll<br />
des Domänen-Controllers beziehungsweise des jeweiligen Windows 2000<br />
Rechners gespeichert, sofern in der Systemrichtlinie die Überwachungsrichtlinie freigegeben<br />
wird.
1.4.5 Zugriffssteuerung<br />
Die Zugriffssteuerung über das Netzwerk auf Dateien oder Ordner erfolgt in Windows NT<br />
Umgebungen über zwei Mechanismen:<br />
� Ordnerfreigabe (Share) und<br />
� NTFS-Rechte.<br />
Um über das Netzwerk auf eine Datei zugreifen zu können, muss einer der darüber liegenden<br />
Ordner freigegeben werden. Diese Freigabe wird ebenfalls mit einer ACL versehen,<br />
die in der Registry gespeichert wird. Die Rechte auf diese Freigabe beschränken<br />
sich auf die Stufen<br />
� Lesen<br />
� Ändern<br />
� und Vollzugriff.<br />
Diese Rechte gelten absolut, das heißt, dass darunter liegende NTFS-Rechte effektiv<br />
durch die Freigaberechte beschnitten werden. Beispiel: Das Leserecht auf Freigabeebene<br />
verhindert das Schreiben auch dann, wenn die NTFS-Rechte dies zulassen würden.<br />
Besonderes Augenmerk in Windows NT Umgebungen ist auf die Privilegien (Richtlinien<br />
für Benutzerrechte) zu richten, denn sie können hinsichtlich der File Services zum Beispiel<br />
durch „Besitz übernehmen von Dateien und Objekten― und „Sichern von Dateien<br />
und Ordnern― von Bedeutung sein.<br />
1.4.6 Benutzer und Gruppenkonzept<br />
Jeder Ordner und jede Datei ist einem Besitzer zugeordnet, der sowohl eine Gruppe als<br />
auch ein Benutzerkonto sein kann. Im Normalfall wird der erzeugende Benutzer der<br />
Besitzer. Ist der Benutzer Mitglied der Administratorengruppe, wird diese Gruppe der<br />
Besitzer.<br />
Eine systematische Zugriffssteuerung in der Windows NT Umgebung bevorzugt die Vergabe<br />
von Rechten an Gruppen. Die Vergabe von Rechten an einzelne Benutzerkonten<br />
sollte den benutzerspezifischen Dateiablagen vorbehalten bleiben.<br />
Innerhalb einer Windows NT Umgebung sind folgende Gruppentypen zu unterscheiden:<br />
� globale Gruppen<br />
� lokale Gruppen auf Member Servern<br />
� lokale Gruppen auf Domain Controllern<br />
Lokale Gruppen auf Domain Controllern unterscheiden sich insofern von denen auf<br />
Member Servern, als sie auf allen Domain Controllern der Domäne mit der gleichen SID<br />
vorhanden sind.<br />
Seite 254
Lokale Gruppen auf Member Servern dürfen mit den folgenden Gruppen (Group Nesting)<br />
verschachtelt sein:<br />
� den globalen Gruppen der eigenen Domäne<br />
� oder den globalen Gruppen der Domänen, denen die eigene vertraut.<br />
Globale Gruppen haben nur Benutzerkonten als Mitglieder.<br />
In einer Windows NT Domänenlandschaft sind zwei verschiedene „klassische― Zugriffsteuerungen<br />
bekannt:<br />
� B-G-L-R Methode:<br />
Der Benutzer ist Mitglied einer globalen Gruppe. Die ist wiederum Mitglied einer<br />
lokalen Gruppe eines File Server. Nur für diese lokale Gruppe sind NTFS Berechtigungen<br />
an einer Datei-Ressource gesetzt.<br />
� B-G-R Methode:<br />
Der Benutzer ist Mitglied einer globalen Gruppe. Nur für diese globale Gruppe<br />
sind NTFS Berechtigungen einer Datei-Ressource vergeben.<br />
Abbildung 27: B-G-L-R Methode<br />
Seite 255
Abbildung 28: B-G-R Methode<br />
Beide Methoden funktionieren nur dann ohne Sicherheitsrisiken, wenn die Zuordnung<br />
von Ressource und lokaler Gruppe (beziehungsweise globaler Gruppe) eindeutig ist.<br />
Das heißt, dass die Gruppe ausschließlich für diese Ressource verwendet wird.<br />
Werden die File Services durch einen Cluster realisiert, hat die Methode B-G-L-R den<br />
Nachteil, dass die lokalen Gruppen auf den Knotenservern nicht die identischen SIDs<br />
besitzen können. Abhilfe schafft hier nur die Konfiguration der Knoten als Domain Controller<br />
oder die Verwendung der Methode B-G-R.<br />
1.4.7 Funktionszuwachs<br />
Mit Windows 2000 Server und Windows Server 2003 R2 gehen hinsichtlich der File<br />
Services einige Neuerungen einher. Hierzu gehören u.a.:<br />
� Dateisystem NTFS 5<br />
� HSM-API<br />
� Vererbung<br />
� Verschlüsselung (EFS)<br />
� SMB over Native IP<br />
� Dynamische Datenträgerverwaltung<br />
� Defragmentierung<br />
� Gruppenverschachtelung<br />
� Remote Storage<br />
� Indexing Service<br />
Seite 256
� Distributed Link Tracking<br />
� DFS<br />
� Offline Folder<br />
� Folder Redirection.<br />
1.4.8 Dateisystem NTFS 5<br />
Das Dateisystem NTFS 5 bietet insgesamt folgende Verbesserungen:<br />
Erstmals ist es möglich, die Zugriffsrechte durch Vererbung zu verwalten. Das bedeutet,<br />
dass durch das Setzen von Rechten auf übergeordneten Ordnern diese auf untergeordneten<br />
Ordnern und Dateien wirksam werden, ohne das Durchschreiben (Einbrennen)<br />
durchführen zu müssen. Die Nachteile des Durchschreibens (Lastproblem, Löschen von<br />
speziellen Rechten in Unterordnern) entfallen somit.<br />
NTFS 5 verfügt über ein Change Journal, in dem die Änderungen protokolliert werden.<br />
NTFS 5 formatierte Datenträger verfügen über einen versteckten Ordner namens „System<br />
Volume Information―, auf den nur das Betriebssystem Zugriff hat und in dem die<br />
zusätzlichen Funktionen verwaltet werden.<br />
NTFS 5 bietet die Möglichkeit, Daten zu verschlüsseln. Das Encrypting File System<br />
(EFS) ermöglicht es Benutzern, Daten vor dem Lesen des Inhalts durch Dritte (auch der<br />
Administratoren) zu schützen. In Unternehmensnetzwerken ist hierzu eine PKI (Public<br />
Key Infrastructure) notwendig.<br />
Die Integration von Quotas im Dateisystem bleibt vorhanden, unterliegt aber weiterhin<br />
den Beschränkungen von NTFS 4.<br />
1.4.9 Protokolle<br />
Windows 2000 Server und Windows Server 2003 R2 unterstützen nach wie vor die oben<br />
genannten Protokolle. Seit Windows 2000 Server / Workstation ist es möglich, die Kommunikation<br />
über NetBIOS abzuschalten. Für die File Services bedeutet dies, dass das<br />
„Direct Hosting of SMB Over TCP/ IP― bei der Kommunikation über den Port 445 erfolgt.<br />
1.4.10 Datenträgerverwaltung<br />
Windows 2000 / 2003 (alle <strong>Version</strong>en) bieten ferner die Möglichkeit, physische Festplatten<br />
in das System einzubinden, ohne Laufwerksbuchstaben vergeben zu müssen.<br />
Diese dynamischen Datenträger können als Ordner in traditionellen Datenträgern eingebunden<br />
und bereitgestellt werden 201 . Windows 2000 / 2003 (alle <strong>Version</strong>en) liefern erstmals<br />
ein Werkzeug zum Defragmentieren von Datenträgern, wobei dies bei Nutzung des<br />
NTFS 5 File Systems nicht notwendig sein sollte.<br />
201 Eine detaillierte Beschreibung der Datenträgerverwaltung und ihrer verschiedenen Möglichkeiten<br />
findet sich unter: http://www.microsoft.com/de/de/default.aspx. Wird auf dieser Seite<br />
als Suchbegriff „Datenträgerverwaltung― eingegeben, führt dies direkt in das entsprechende<br />
Kapitel beim Microsoft TechNet.<br />
Seite 257
1.4.11 Änderungen bzgl. Zugriffsteuerung (Gruppenverwaltung)<br />
Seit Windows 2000 Server gibt es zwei unterschiedliche Gruppentypen:<br />
� Sicherheitsgruppen:<br />
Sicherheitsgruppen sind in DACLs (Discretionary Access Control Lists) aufgeführt,<br />
die Berechtigungen für Ressourcen und Objekte definieren. Eine Sicherheitsgruppe<br />
kann auch als E-Mail-Gruppe verwendet werden. Eine an die Gruppe<br />
gesendete E-Mail-Nachricht wird automatisch an alle Gruppenmitglieder verteilt.<br />
� Verteilergruppen:<br />
Für Verteilergruppen werden keine Sicherheitsfunktionen aktiviert. Sie können<br />
nicht in DACLs aufgelistet werden. Verteilergruppen können nur mit Unterstützung<br />
von E-Mail-Anwendungen, z. B. Microsoft Exchange, eine E-Mail an eine<br />
Gruppe von Benutzern senden. Wenn eine Gruppe nicht aus Sicherheitsgründen<br />
erforderlich ist, können sie anstelle einer Sicherheitsgruppe eine Verteilergruppe<br />
erstellen.<br />
Auch wenn Kontakte sowohl einer Sicherheitsgruppe als auch einer Verteilergruppe<br />
hinzugefügt werden können, ist es nicht möglich, diesen Kontakten Rechte und<br />
Berechtigungen zuzuweisen. Es können E-Mail-Nachrichten an die in einer Gruppe<br />
enthaltenen Kontakte gesendet werden.<br />
1.4.12 Konvertieren von Sicherheits- und Verteilergruppen<br />
Eine Gruppe kann von einer Sicherheitsgruppe in eine Verteilergruppe konvertiert<br />
werden und umgekehrt. Dies kann jederzeit erfolgen, solange die Domäne im<br />
einheitlichen Modus ausgeführt wird. Befindet sich eine Domäne im gemischten Modus,<br />
können keine Gruppen konvertiert werden.<br />
1.4.13 Verschachteln von Gruppen<br />
Durch die Verschachtelung können Gruppen zu Mitgliedern anderer Gruppen werden.<br />
Durch verschachtelte Gruppen lässt sich die Gruppenverwaltung vereinheitlichen, da<br />
sich die Anzahl der Mitgliedskonten erhöht, für die die jeweiligen Verwaltungsaufgaben<br />
ausgeführt werden. Zusätzlich wird der Replikationsdatenverkehr verringert, der durch<br />
die Replikation veränderter Gruppenmitgliedschaften entsteht.<br />
Die Verschachtelungsoptionen richten sich danach, ob die Domäne im einheitlichen oder<br />
im gemischten Modus ausgeführt wird. Bei Gruppen in Domänen im einheitlichen Modus<br />
oder bei Verteilergruppen in Domänen im gemischten Modus wird die Mitgliedschaft auf<br />
folgende Weise bestimmt:<br />
� Gruppen mit dem Bereich „Universal" können folgende Mitglieder enthalten: Konten,<br />
Computerkonten, andere Gruppen mit dem Bereich „Universal" und Gruppen<br />
mit dem Bereich „Global" einer beliebigen Domäne.<br />
� Gruppen mit dem Bereich „Global" können folgende Mitglieder enthalten: Konten<br />
derselben Domäne und andere Gruppen mit dem Bereich „Global" aus derselben<br />
Domäne.<br />
Seite 258
� Gruppen mit dem Bereich „Lokale Domäne" können folgende Mitglieder enthalten:<br />
Konten, Gruppen mit dem Bereich „Universal" und Gruppen mit dem Bereich<br />
„Global" einer beliebigen Domäne. Diesen Gruppen können innerhalb derselben<br />
Domäne auch andere Gruppen mit dem Bereich „Lokale Domäne" angehören.<br />
Sicherheitsgruppen in einer Domäne im gemischten Modus sind auf die folgenden Mitgliedstypen<br />
beschränkt:<br />
� Gruppen mit dem Bereich „Global" können ausschließlich Konten enthalten.<br />
� Zu den Mitgliedern von Gruppen mit dem Bereich „Lokale Domäne" können andere<br />
Gruppen mit dem Bereich „Global" sowie Konten zählen.<br />
Da der Gruppenbereich „Universal" ausschließlich in Windows 2000-Domänen im einheitlichen<br />
Modus unterstützt wird, können in Domänen im gemischten Modus keine Sicherheitsgruppen<br />
mit dem Bereich „Universal" erstellt werden.<br />
1.4.14 Remote Storage<br />
Remote Storage ist ein neuer Dienst der seit Windows 2000 Server angeboten wird und<br />
ermöglicht die Auslagerung von lange nicht genutzten Dateien auf Bandlaufwerke im<br />
Sinne eines HSM (Hierarchical Storage Management).<br />
1.4.15 Indexing Service<br />
Der Indexing Service kann optional für Dateiordner eingeschaltet werden, um die dort<br />
gespeicherten Dateien zu indizieren. Der erstellte Index ermöglicht eine schnellere Suche<br />
nach bestimmten Inhalten. Mit dem Indexdienst können folgende Typen von Dokumenten<br />
in verschiedenen Sprachen indiziert werden:<br />
� HTML<br />
� Text (Plain Text)<br />
� Microsoft Office 95 oder höher<br />
� MIME (Multipurpose Internet Mail Extension).<br />
1.4.16 Distributed Link Tracking<br />
Windows 2003 R2 File Server ermöglichen es, dass Anwendungen, die das Verknüpfen<br />
und Einbetten von Objekten unterstützen, so programmiert werden können, dass beim<br />
Verschieben der verknüpften Objekte Informationen über den aktuellen Speicherort vom<br />
Dateisystem abgerufen werden können.<br />
1.4.17 Distributed File System<br />
Das Distributed File System (DFS) konnte bereits unter Windows NT 4 durch zusätzliche<br />
Installationen auf Server und Client bereitgestellt werden. Bei Windows 2000 / 2003 sind<br />
diese Funktionalitäten sowohl auf Client- als auch auf Serverseite standardmäßig integriert<br />
und zusätzlich erweitert worden. DFS ermöglicht, dass Freigaben von Ordnern, die<br />
auf verschiedenen Servern verteilt sind, dem Client als Unterordner einer einzelnen<br />
Freigabe dargestellt werden. Damit wird eine Einsparung von Laufwerksbuchstaben hinsichtlich<br />
der Netzlaufwerke, die dem Anwender zugeordnet werden sollen, erzielt. Darü-<br />
Seite 259
er hinaus muss der Benutzer nicht wissen, wo seine Daten sich physikalisch befinden.<br />
In Windows 2000 / 2003 wurde DFS um die Integration von FRS (File Replication Service)<br />
dahingehend erweitert, dass die verknüpften Freigaben und deren Inhalte auf weitere<br />
Freigaben und anderen File Servern repliziert werden. Fällt ein Server und somit dessen<br />
Freigabe aus, dann stehen dem Client die Repliken zur Verfügung, ohne neue Netzwerkverbindungen<br />
aufbauen zu müssen. In Windows 2000 / 2003 können die Informationen<br />
über den DFS-Baum im Active Directory gespeichert und repliziert werden. Dadurch<br />
verfügt der Client nahezu jederzeit über die benötigten Verbindungsinformationen.<br />
1.4.18 Verbindungsherstellung<br />
Dem Anwender kann die Suche nach Freigaben erleichtert werden, indem die Freigaben<br />
im Active Directory veröffentlicht werden.<br />
1.4.19 Offline Folder und Folder Redirection<br />
Die Funktionalitäten „Offline Folder― und „Folder Redirection― sind primär keine Eigenschaften<br />
der File Services von Windows 2000 Server beziehungsweise Windows Server<br />
2003 R2, sondern Funktionalitäten des Client (zum Beispiel Windows 2000/Professional,<br />
Windows XP, Vista). Sie seien an dieser Stelle dennoch erwähnt, weil sie hinsichtlich der<br />
Datenhaltung prinzipiell relevant sind und mit dem File Server zusammenarbeiten müssen.<br />
Offline Folder stellen quasi den Nachfolger des „Aktenkoffers― von früheren Windows<br />
<strong>Version</strong>en dar. Anwender, die zum Beispiel über ein Notebook verfügen, können<br />
Ordner und Dateien, die normalerweise auf File Servern gespeichert werden, ohne<br />
Netzwerk-verbindung bearbeiten. Sobald eine Verbindung zum File Server besteht, werden<br />
diese Daten wieder abgeglichen (repliziert). Aufgrund dieser Replikation sind auf<br />
beiden Seiten (Client und Server) die jeweiligen Dateieigenschaften von großer Bedeutung,<br />
um einen fehlerfreien Abgleich zu ermöglichen.<br />
Mit der Funktionalität Folder Redirection trägt Windows 2000 / 2003 (alle <strong>Version</strong>en)<br />
dem Umstand Rechnung, dass die Größe von Benutzerprofilen auf Arbeitsplatzsystemen<br />
im laufenden Betrieb stark anwachsen kann. Dies geschieht zum Beispiel dann, wenn<br />
der Anwender dort unter „Eigene Dateien― seine Dateien speichert, die eigentlich auf File<br />
Servern abgelegt werden sollen. Seit Windows 2000 (alle <strong>Version</strong>en) ist es möglich, die<br />
Systemordner des Benutzerprofils („Eigene Dateien―, „Anwendungsdaten―) auf einen<br />
Netzwerkpfad zu „verbiegen―. Diese Ordner erscheinen dem Anwender transparent als<br />
lokale Ordner. Durch das Verschieben der Ordner auf File Server muss beachtet werden,<br />
dass die Zugriffsrechte gewahrt bleiben.<br />
1.4.20 Sicherheit<br />
NTFS bietet die Möglichkeit, Daten zu verschlüsseln. Um an Daten auf einer NTFS Datenpartition<br />
zu kommen, muss diese von einem Gerät gelesen werden, die das NTFS<br />
System unterstützt. Die Verwaltung der Zugriffskontrolle erfolgt über die Benutzerverwaltung<br />
des Betriebssystems.<br />
Seite 260
1.4.21 Fazit<br />
NTFS bietet alle Voraussetzungen, um eine sichere und benutzerbezogene Dateiblage<br />
zu realisieren. Einzig die Längenbeschränkung der Dateinamen inklusive ihrer Pfadangaben<br />
auf 255Zeichen kann in Spezialfällen zu Problemen führen, da dies dem Anwender<br />
nicht transparent ist und er bei der Datenablage keinen Warnhinweis erhält, falls er<br />
diese überschreitet. Dieser Umstand kann aber durch organisatorische Maßnahmen<br />
entsprechend berücksichtig werden.<br />
2 Migrationspfade<br />
Bevor auf die einzelnen Migrationspfade eingegangen wird, sollen vorab die Funktionen<br />
der einzelnen, im Kapitel II.E 1 beschriebenen Dateiablagesysteme gegenübergestellt<br />
werden.<br />
Bei der funktionalen Übersicht der alternativen Netzdateisysteme kommen indirekt auch<br />
Eigenschaften des darunter liegenden Serverdateisystems zum Tragen (zum Beispiel<br />
maximale Dateigröße oder Dateirechte). Für die linuxbasierten Server werden für diesen<br />
Vergleich das XFS und das EXT3 Dateisystem zugrunde gelegt.<br />
Funktion WinNT NTFS 5 Samba <strong>3.0</strong> NFS 4 AFS<br />
1.5.25<br />
Windows-Client ohne Zusatzsoftware<br />
X X X<br />
Länge der Dateinamen<br />
(Zeichen) 256 256 256 256 256<br />
Zeichensatz für Dateinamen Unicode Unicode Unicode ISO-Latin ISO-Latin<br />
Darstellung von Groß/ Kleinschreibung<br />
Unterscheidung von Groß/ Kleinschreibung<br />
X X X X X<br />
Seite 261<br />
einstellbar X X<br />
Disk Quotas X X X X<br />
Verschlüsselung EFS dateiweise<br />
clientseitig<br />
Kompression X X<br />
Maximale Dateigröße 204 2 TB 2 TB 2 TB 9 EB 205 2 GB<br />
Maximale Pfadlänge Unbegr. Unbegr. Unbegr. Unbegr. Unbegr.<br />
Änderungsjournal X (Eine Form<br />
von Auditing<br />
gibt es als<br />
Samba-<br />
VFS-Plugin<br />
202 Als Erweiterung (Patch) zum Beispiel für Ext2/3 Dateisysteme erhältlich<br />
203 Als Erweiterung (Patch) zum Beispiel für Ext2/3 Dateisysteme erhältlich<br />
204 TB Terabyte 1012, PB Petabyte 1015, EB Exabyte 1018<br />
205 NFSv3 mit XFS Dateisystem, je nach Architektur bis zu 9EB, für i386 max. 16TB<br />
202<br />
203
Funktion WinNT NTFS 5 Samba <strong>3.0</strong> NFS 4 AFS<br />
1.5.25<br />
vfs_full_<br />
audit)<br />
Propagierung der<br />
Freigaben im ActiveDirectory<br />
Verteiltes Dateisystem DFS DFS Standard Standard<br />
Dateireplikationsdienst FRS rsync rsync rsync<br />
Journaling<br />
X<br />
Seite 262<br />
X X<br />
DACL NTFS POSIX POSIX AFS<br />
SACL NTFS Samba Modul<br />
Typische Autorisierung über NT/ LM<br />
PDC<br />
AD / Kerberos<br />
NT/LM<br />
LDAP, wenn<br />
AD-Mitglied<br />
dann Kerberos<br />
Tabelle 47: Vergleich der Dateiserver<br />
X<br />
X<br />
NIS/ LDAP Kerberos<br />
<strong>Version</strong> 4<br />
Eine Migration der Dateiablage findet in der Regel durch das Kopieren von Daten von<br />
dem alten auf das neue System statt. Hierbei sind die oben beschriebenen Unterschiede<br />
bei den einzelnen Systemen zu beachten. Weiter ist bei allen Migrationspfaden zu beachten,<br />
dass gegebenenfalls wichtige Dateiinformationen, zum Beispiel das Erstellungsdatum<br />
einer Datei, verloren gehen können (unter Erstellungsdatum ist hier das Datum<br />
der ersten Erstellung der Datei zu verstehen). Es muss daher im Vorfeld einer Migration<br />
geklärt werden, ob und welche Dateieigenschaften, zum Beispiel aus rechtlichen Gründen,<br />
bei einer Migration unverändert bleiben müssen.<br />
Unverändert müssen zum Beispiel folgende Eigenschaften bleiben:<br />
� Datum der Ersterstellung der Datei<br />
� Pfadangabe der Ersterstellung<br />
� Name der Ersterstellung<br />
� Benutzername des Ersterstellers<br />
� Dateigröße<br />
� Übernahme der Änderungsverfolgung<br />
Dies kann zu einer Erhöhung der Komplexität führen, da das einfache Kopieren der<br />
Dateien in diesem Fall nicht möglich ist.<br />
Um eine Migration durchzuführen, empfiehlt sich statt des einfachen Kopierens der<br />
Daten (zum Beispiel mittels Browser) die Nutzung des rsync Befehls. Mit Samba 4 wird<br />
es künftig auch möglich sein, über diesen Befehl zum Beispiel das Attribut der
Dateiersterstellung zu übertragen. Dieses vereinfachte Vorgehen ist zurzeit noch nicht<br />
möglich, doch der rsync Befehl wird stetig weiter entwickelt 206 .<br />
Im Rahmen der Betrachtungen zur Migration der Dateiablage wird davon ausgegangen,<br />
dass auf den Clients keine Nutzdaten lokal gespeichert werden. Bei einer eventuellen<br />
Migration von Clients wird ein neues System mit identischer Funktionalität aufgesetzt,<br />
ohne dass Daten vom alten Client übernommen werden.<br />
Wenn eine große Zahl identisch ausgestatteter Clients zu migrieren ist, kommt ein festplattenloser<br />
Betrieb auf einem reinen Netzdateisystem in Frage. Dieser Spezialfall von<br />
netzwerkzentraler Dateiablage bietet insbesondere bei der Administration große Vorteile:<br />
Änderungen an der Client-Konfiguration werden nur ein einziges Mal auf dem Server<br />
ausgeführt und sind automatisch auf allen damit arbeitenden Clients wirksam. Für die<br />
Auswahl des Serverdienstes, auf dem ein „diskless Client― aufsetzt, müssen prinzipiell<br />
die gleichen Überlegungen angestellt werden wie bei der Auswahl des Serversystems<br />
für die zentrale Dateiablage allgemein.<br />
Eine Migration der Dateiablage kann stets als Chance genutzt werden, die Ablagestruktur,<br />
das Rechtesystem und die Daten auf ihre Funktionalität und Aktualität zu prüfen.<br />
Gegebenenfalls kann es sinnvoll sein, bei einer solchen Migration Daten zu archivieren<br />
beziehungsweise zu löschen.<br />
2.1 Migration von Windows Server NT 4 mit NTFS 4 nach Linux mit Samba<br />
(SMB/CIFS) und POSIX<br />
Bei der direkten Ablösung eines Windows NT Servers als Dateiablage unter Beibehaltung<br />
der Windows Clients bietet sich im Open Source Bereich Samba als erste Wahl an.<br />
Wie bereits im Abschnitt II.E 1.1 dargelegt, erfüllt ein Samba Server wie ein NT Server<br />
die Anforderungen an eine Dateiablage und im Zusammenspiel mit POSIX (siehe auch<br />
Abschnitt II.E 1.1) lassen sich die Rechtestrukturen wie unter Windows NT abbilden.<br />
Dies gilt auch für die erweiterten Rechte unter Windows, obwohl diese in der Praxis nur<br />
selten zur Anwendung kommen.<br />
Wenn hier von Abbildung die Rede ist, stellt sich auch die Frage, gehören die<br />
Betrachtungen zu Samba und POSIX nicht eigentlich in den vorliegenden Abschnitt? Die<br />
Autoren des <strong>Migrationsleitfaden</strong>s haben sich aus zwei Gründen für die vorliegende<br />
Strukturierung entschieden. Zum einen werden unter den Produkt- und Technologiebetrachtungen<br />
die Eigenschaften, Funktionen und Möglichkeiten der Produkte, der<br />
Technologien beschrieben. Zum zweiten werden diese Eigenschaften, Funktionen und<br />
Möglichkeiten im Falle von Samba im Zusammenspiel mit POSIX nicht nur bei der<br />
Migration einer NT-basierten Umgebung in eine gemischte Windows/Linux-Umgebung<br />
benötigt, sondern diese werden grundsätzlich benötigt, wenn eine solche Umgebung<br />
aufgebaut werden soll.<br />
An dieser Stelle sollen nun noch die Aspekte der reinen Migration betrachtet werden.<br />
Dies bedeutet dann aber wiederum nur, dass die Dateien von der einen Ablage-<br />
Umgebung in die neue Ablage-Umgebung gebracht werden müssen.<br />
206 http://rsync.samba.org/<br />
Seite 263
Bevor diese Überführung der Dateien erfolgt, sollte in jedem Migrationsprojekt, welche<br />
die Migration der Dateiablage zum Ziel hat, vor allem die bestehenden Rechtestrukturen<br />
der Dateiablage dahingehend geprüft werden, ob sie noch zeitgemäß und den Anforderungen<br />
entsprechend gestaltet sind. Eine Migration sollte, wie bereits in der Einleitung<br />
zu den Migrationspfaden der Dateiablage erwähnt, auch als Chance für eine Bereinigung<br />
beziehungsweise für einen Neuanfang gesehen werden.<br />
Solch eine Prüfung kann am Ende zu zwei unterschiedlichen Ergebnissen kommen:<br />
1. Die Rechtestruktur bedarf einer Änderung<br />
2. Die Rechtestruktur bedarf keiner Änderung und soll für die neue Dateiablage<br />
übernommen werden.<br />
Im ersten Fall sollte dann so vorgegangen werden, dass zunächst die neue Dateiablage<br />
aufgebaut und die neue Rechtestruktur implementiert werden. Anschließend können die<br />
Dateien der abzulösenden Dateiablage selektiv durch kopieren übernommen werden.<br />
Hierfür stehen Werkzeuge, wie zum Beispiel das Windowsprogramm „robocopy― 207 zur<br />
Verfügung.<br />
Im zweiten Fall kann die alte Dateiablage auf den neu aufgebauten Fileserver zum<br />
Beispiel auch mit robocopy vollständig übernommen werden.<br />
2.2 Von Windows Server 2000/2003 nach Linux Server (unter Beibehaltung von<br />
Active Directory)<br />
Bei einer Migration von Windows Server 2000/2003 nach Linux unter der Beibehaltung<br />
von Active Directory gelten für die Migration der Daten die gleichen Anmerkungen, die in<br />
den vorherigen Kapiteln beschrieben worden sind. Anwendungsgebiete einer solchen<br />
Migration sind zum Beispiel die Migration von Daten von Windows File Servern auf NAS<br />
(Network Attached Storage) oder SAN (Storage Area Network) Systeme. Diese Systeme<br />
stellen sich nach außen als Windows File Server dar, werden aber intern oft durch<br />
Unix/Linux Systeme verwaltet. Durch die Beibehaltung von Active Directory wird das<br />
Netzdateisystem weiter unter Windows verwaltet, jedoch per Samba unter Linux<br />
abgebildet beziehungsweise gespeichert. Diese Kombination von Verwaltung unter<br />
Windows und Dateiablage unter Linux kann in bestimmten Fällen zu nicht gewünschten<br />
Effekten führen. Einige Beispiele für diese negativen Effekte seien hier aufgeführt:<br />
� Länge von Dateinamen<br />
In der Praxis hat sich gezeigt, dass Windows Systeme Probleme haben, Dateinamen<br />
inklusive Pfadangabe von mehr als 256 Zeichen zu interpretieren, auch<br />
wenn laut Herstellerangaben die Pfadnamen unter NTFS unbegrenzt lang sein<br />
können. Die Ursachen hierfür können in Programmteilen von DLLs beziehungsweise<br />
Programmteilen von Drittherstellern liegen, da dort unter Umständen eine<br />
feste Pfadlänge programmiert wurde. Daher wird empfohlen, keine Dateinamen<br />
inklusive Pfadlänge von mehr als 240 Zeichen zu verwenden. Linux hingegen<br />
lässt auch längere Dateinamen zu. Wird nun vom Anwender eine Datei zum Beispiel<br />
über den NT-Explorer verschoben, so kann es dazu führen, dass die Ge-<br />
207 robocopy ist Teil der Windows Server 2003 Resource Kit Tools<br />
Seite 264
samtlänge der Datei incl. Pfadangabe länger als 256 Zeichen wird. Da das Filesystem<br />
unter Linux verwaltet wird, legt Linux diese Datei entsprechend ab. Es erfolgt<br />
keine Rückmeldung an den Anwender, dass die Dateilänge größer als 256<br />
Zeichen ist. Wird nun zu einem späteren Zeitpunkt zum Beispiel bei einer Datensicherung<br />
über Windows auf diese Datei zugegriffen, kann Windows diese nicht<br />
mehr finden. Hier muss dann die Datei vom Administrator verschoben oder kopiert<br />
werden, sodass der Dateiname incl. Pfadangabe kleiner als 256 Zeichen<br />
wird.<br />
� Unterschiedliche Sichten für Administratoren<br />
Dateiattribute werden unter Windows über den Explorer gesetzt und entsprechend<br />
angezeigt. Unter Linux werden diese Einstellungen nach den in<br />
Kapitel II.E 1.1 beschriebenen Verfahren umgesetzt. Betrachtet der Administrator<br />
die Attribute von Dateien unter Windows und unter Linux, so wird er die entsprechenden<br />
Unterschiede feststellen. Eine Überprüfung der Einstellungen, das<br />
heißt ob die Abbildung von Windows Attributen auf Linux Attribute korrekt<br />
durchgeführt wurde, bedarf der Interpretationsleistung des Administrators.<br />
� Vererbung von Attributen<br />
Bei der Vererbung von Attributen und Zugriffsrechten kann es unter Umständen<br />
zu ungewollten Vererbungen kommen. Dies ist insbesondere dann der Fall, wenn<br />
über mehrere Unterverzeichnisse Attribute beziehungsweise Zugriffsrechte vererbt<br />
werden sollen. Speziell bei der Vererbung von Zugriffsrechten ist es immer<br />
zu empfehlen, die korrekte Vererbung auch in tiefer liegende Unterverzeichnisse<br />
zu überprüfen.<br />
2.3 Von Linux NFS/OpenAFS nach Windows 2003 NTFS 5<br />
Wird eine Migration von Linux NFS/OpenAFS nach NTFS 5 durchgeführt, dann stellen<br />
die Abbildungen von Attributen und Zugriffsrechten keine Herausforderung für das NTFS<br />
5 System dar. Da das NTFS 5 System über komplexere Möglichkeiten zum Anlegen von<br />
Zugriffsrechten und Dateiattributen verfügt, können im ersten Ansatz alle Attribute und<br />
Zugriffsrechte 1:1 übernommen werden. (Siehe hierzu die Vergleichstabellen in Kapitel<br />
II.E 1.1) Eine Erweiterung oder der Aufbau von neuen Strukturen, z. B. der Zugriff über<br />
verschachtelte Benutzergruppen können nach der eigentlichen Datenmigration unter<br />
Windows durchgeführt beziehungsweise aufgebaut werden.<br />
Die im Kapitel II.E 1.1 beschriebene Thematik der langen Dateinamen inklusive<br />
Pfadangabe tritt bei einer Migration von Linux NFS/OpenAFS nach NTFS 5 noch stärker<br />
auf, da hier die Datei tatsächlich im NTFS 5 System physikalisch abgelegt wird. Das<br />
heißt, dass es hier beim Kopieren der Datei zur Verkürzung der Pfadangabe kommen<br />
kann. Dies kann dazu führen, dass die Datei im schlimmsten Fall nicht mehr zu öffnen<br />
ist. Auch die Empfehlung, dass der Dateiname inklusive Pfadangabe 240 Zeichen nicht<br />
überschreiten sollte, sollte bei einer Migration berücksichtigt werden. Gegebenenfalls<br />
müssen die Pfadnamen verkürzt werden. Eine weitere Problematik stellt die gegebenenfalls<br />
unterschiedliche Codierung von Zeichen im Dateiablagesystem dar. Linux Systeme<br />
können Dateinamen in von UTF-8 unterschiedlichen Zeichenkodierungen ablegen.<br />
Dies ist unter Windows nicht möglich. Windows verarbeitet Dateinamen immer in UTF-8.<br />
Seite 265
Dies kann zu unerwünschten Veränderungen bei einer Migration führen, denen durch<br />
vorherige Dateinamenkonvertierung auf der Linux-Seite zum Beispiel mittels convmv<br />
oder iconv entgegnet werden sollte. Außerdem ist darauf zu achten, dass die jeweilige<br />
Dateigröße 2 TB nicht überschreitet. In engem Zusammenhang mit der Dateiablage<br />
steht auch immer die Verbindung zur Benutzerverwaltung und zur Vergabe von<br />
Zugriffsrechten über Benutzer und Benutzergruppen. Die Übernahme der Benutzer und<br />
Benutzergruppen, zum Beispiel aus einem LDAP-Verzeichnis muss noch vor der Übernahme<br />
der Dateien und der Zugriffrechte geklärt und gegebenenfalls dann auch<br />
durchgeführt werden (siehe hierzu Abschnitt Authentifizierung und Verzeichnisdienste).<br />
Unter NFS und OpenAFS ist es durchaus üblich, dass verteilte Dateiablagen realisiert<br />
werden. Dies kann bei einer Migration dazu führen, dass die Daten innerhalb der Netzwerkinfrastruktur<br />
von verschiedenen Systemen zusammengeführt werden müssen. Hierbei<br />
ist darauf zu achten, dass keine Daten bei der Migration verloren gehen. Gegebenenfalls<br />
ist ein Rechner, der Bestandteil dieser verteilten Infrastruktur ist, während der<br />
Migration ausgeschaltet. Das heißt, dass nach der Migration in jedem Fall die Vollständigkeit<br />
der Daten zu überprüfen ist und sich die Verantwortlichen keinesfalls auf automatische<br />
Reports verlassen sollten. Zwar bietet Windows auch die Möglichkeit, verteilte<br />
Dateiablagesysteme aufzubauen, diese basieren aber immer auf einem NTFS System.<br />
Wird also eine komplette Migration von NFS /OpenAFS nach NTFS 5 durchgeführt,<br />
müssen alle Daten auf NTFS 5 Systeme transferiert werden. Hierbei ist es unerheblich,<br />
ob das Dateisystem unter NTFS ein verteiltes oder ein zentrales Ablagesystem ist.<br />
2.4 Von Windows Server NT4 nach Windows Server2000/2003<br />
Eine Datenmigration von NT4 Servern nach Windows2000/2003 Server stellt sich<br />
einfach dar, wenn sich die entsprechenden Server in derselben Infrastruktur befinden<br />
und sich auf den Servern NTFS Systeme mit dem gleichen <strong>Version</strong>stand befinden.<br />
Empfehlenswert ist, dass sich sowohl das Quellsystem als auch das Zielsystem auf dem<br />
gleichen <strong>Version</strong>sstand von NTFS befindet. Sollte dies nicht der Fall sein, empfiehlt sich<br />
vorab die Hebung der <strong>Version</strong>sstände der NTFS Systeme auf ein einheitliches Niveau.<br />
Dies gilt auch, wenn das Windows Filesystem ein FAT System ist. In jedem Fall sollte<br />
immer auf die aktuellste <strong>Version</strong> des NTFS Systems gewechselt werden. Wenn diese<br />
Voraussetzungen geschaffen sind, fallen im Prinzip außer dem Kopieren von Daten<br />
keine weiteren Tätigkeiten für die Migration an.<br />
Befinden sich die Server nicht in der gleichen Infrastruktur, das heißt der NT4 Server<br />
befindet sich zum Beispiel in einer Windows Domänenstruktur und der Windows 2003<br />
Server in einer Active Directory Struktur, so kann die Migration aufwändiger werden, weil<br />
die Zugriffsrechte nicht 1:1 übernommen werden können. In diesem Fall ergeben sich<br />
zwei Migrationszenarien:<br />
Seite 266
� Einbindung NT Server in eine vorhandene Active Directory Infrastruktur<br />
Bei diesem Szenario ist beziehungsweise wird der NT Server erst in die vorhandene<br />
Infrastruktur des Active Directory eingebunden, bevor die Migration der Dateiablage<br />
durchgeführt wird. Da hierbei die Zugriffsrechte entsprechend des Zielsystems<br />
angepasst werden können, kann im Anschluss die Migration durchgeführt<br />
werden.<br />
� Keine Einbindung des NT Servers in die Active Directory Infrastruktur<br />
Soll der NT Server nicht in eine Active Directory Struktur eingebunden werden,<br />
können die Daten zwar auch ohne Probleme übernommen werden, allerdings ist<br />
beim Datentransfer darauf zu achten, dass sich die Zugriffsrechte nicht ungewollt<br />
verändern.<br />
3 Bezüge<br />
3.1 Authentifizierungsdienst<br />
Wenn es um die Dateiablage geht, dann geht es auch immer um die Regelung der<br />
Zugriffsberechtigung. Es muss sichergestellt werden, dass jeder Benutzer und auch<br />
Anwendungen und Dienste nur dort Zugriff erhalten, wo dieser für sie vorgesehen ist.<br />
Interessant sind in diesem Zusammenhang sind die Möglichkeiten, die in Kombination<br />
mit Samba und OpenLDAP oder einem anderen LDAP-Verzeichnisdienst innerhalb<br />
heterogener Umgebungen (Linux- und Windows-basierte Umgebungen) bestehen.<br />
Daher sollte bei Überlegungen zur Migration von Dateiablagediensten auch immer das<br />
(Kapitel II.C ) berücksichtigt werden. Zunächst sind es die Technologiebetrachtungen mit<br />
den Abschnitten<br />
� „Linux und Samba mit OpenLDAP und Kerberos (MIT/Heimdal)―, II.C 1.1<br />
� „Fedora Directory Server (OSS-Lösung mit Multimasterfähigkeit)―, II.C 1.2<br />
� „Windows NT 4 Server als sogenannter Domänencontroller (DC)―, II.C 1.3<br />
� „Windows 2000/2003 Server mit Active Directory und Kerberos―, II.C 1.4<br />
die je nach Ausgangs- und Zielumgebung betrachtet werden sollten. Ergibt sich auch die<br />
Notwendigkeit der Migration des Authentisierungsdienstes, dann sind die passenden<br />
Abschnitte der Migrationspfade in Kapitel II.C 2 heranzuziehen.<br />
Seite 267
F Thema Druckdienste<br />
Das Thema „Drucken― wird in der IT-Welt oft vernachlässigt. Das betrifft alle Betriebssystem-Umgebungen<br />
gleichermaßen, sei es die Windows- oder die Unix-/ Linux-Welt.<br />
Doch Druckprobleme verursachen häufig die höchsten Reibungsverluste. So wird ein<br />
großer Teil der Administrationsaufwendungen für die Lösung alltäglicher Druckprobleme<br />
verwendet. Darüber hinaus ist Drucken in vielen Fällen eine „mission critical―-Anwendung,<br />
deren Ausfall zu finanziellen Verlusten führen und von den Verantwortlichen<br />
kreative Problemlösungen erfordern kann.<br />
Ein gewisser „Wildwuchs in der Infrastruktur― hinsichtlich der Druckdienste ist weit verbreitet.<br />
„Gewachsene Strukturen― haben an vielen Stellen zu zahlreichen Unverträglichkeiten<br />
geführt: Oft herrscht ein Durcheinander von Seitenbeschreibungssprachen<br />
(wie PostScript, PCL, PreScribe, ESC/P, PDF) vor. Die häufig „unfriedliche― Koexistenz<br />
von Druck- und Netzwerkprotokollen (wie LPR/ LPD, HP JetDirect, SMB/ MS-RPC) sorgt<br />
für vielerlei Probleme.<br />
Eine Migration von Druckdiensten auf eine neue Plattform wird nicht unbedingt ein möglichst<br />
genaues 1:1-Abbild der bestehenden Verhältnisse wiedergeben können. Es sollte<br />
jedoch als Chance wahrgenommen werden, bestehende Schwachstellen zu beheben.<br />
In den nachfolgenden Abschnitten wird auf die Druckdienste unter Linux und Windows<br />
näher eingegangen.<br />
1 Produkte / Technologien<br />
1.1 Allgemeine Betrachtungen<br />
In den nachfolgenden Abschnitten erfolgt zunächst die Betrachtung von wichtigen Punkten,<br />
die für alle dann anschließend betrachteten Produkte und Technologien gleichermaßen<br />
von Bedeutung sind. Hierzu gehören die Themen Drucker- und Seitenbeschreibungssprachen,<br />
die Druckprotokolle sowie die Funktionalitäten, die von einer professionellen<br />
Druckumgebung erwartet werden dürfen.<br />
1.1.1 Wichtige und sinnvolle Funktionalitäten und Anforderungen von und an<br />
Druckumgebungen<br />
Die nachfolgende Liste soll einen Eindruck darüber vermitteln, welche Anforderungen an<br />
eine Druckerumgebung gestellt werden können, die alle in enger Verbindung zu den<br />
benötigten Management- und Überwachungswerkzeugen stehen:<br />
1.1.1.1 Accounting<br />
Kostenkontrolle durch detaillierte Protokollierungsmöglichkeiten ist eine Funktion, die<br />
insbesondere mit Blick auf eine wirtschaftliche Nutzung besonders in großen Organisationen<br />
von Bedeutung ist.<br />
Seite 268
1.1.1.2 Quotas<br />
Die Funktion Quotas, also der Festsetzung von quantitativen Obergrenzen für Ausdrucke,<br />
kann sinnvoll und hilfreich für die Gewährleistung der Wirtschaftlichkeit der<br />
Druckdienste und zur Kostenkontrolle beziehungsweise –begrenzung eingesetzt werden.<br />
1.1.1.3 Job History<br />
Hiermit steht ein Überblick über die gesamten Druckvorgänge zur Verfügung. Am<br />
Jahresende liegen aussagekräftige Zahlen über Gesamtmenge (Budgetplanung),<br />
Verteilung auf Modelle und Orte (Optimierung der Ressourcenverteilung) Spitzenbelastungen<br />
(sinnvolle Neuinvestitionen) vor.<br />
1.1.1.4 Zuverlässigkeit<br />
Ein Mindestmaß an Ausfallsicherheit ist in der Regel eine wichtige Anforderung mit Blick<br />
auf die Zufriedenheit der Benutzer. Ausweichmöglichkeiten sollten leicht integrierbar sein<br />
– die Dienstbereitschaft der Printservices sollte auch ohne Anwesenheit von IT-Experten<br />
gewährleistet sein.<br />
1.1.1.5 Umleitung von Druckjobs<br />
Ein Ersatzdrucker sollte problemlos angesprochen werden können, ohne den Auftrag<br />
erneut vom Client abschicken zu müssen. (wichtig: falls der Ersatzdrucker ein anderer<br />
Typ ist, sollte er die vorliegende Druckdatei dennoch verarbeiten können).<br />
1.1.1.6 Erneutes Drucken<br />
In einer Umgebung mit zentraler Vervielfältigung sind häufig Nachdrucke abgeschlossener<br />
Druckaufträge erforderlich. Um „Printing on Demand― umzusetzen und die Auflage<br />
nachträglich zu erhöhen, oder um technische Probleme (zum Beispiel Papierstau/<br />
Stromausfall) und Bedienerfehler (zum Beispiel falsche Papierfarbe verwendet) auszugleichen,<br />
ist eine Funktion zum erneuten Nachdrucken sinnvoll.<br />
1.1.1.7 Drucken „auf Halten“<br />
Zeitversetztes oder „nächtliches― Drucken (automatisch gesteuerte Batch-Jobs), ist dann<br />
hilfreich, wenn es darum geht die Verfügbarkeit für höher priorisierte Druckaufträge zu<br />
verbessern und die Wartezeiten für die Anwender zu reduzieren. Die ist insbesondere für<br />
zentrale Druckdienstangebote in großen Organisationen eine wichtige Funktion.<br />
1.1.1.8 Verschlüsselung<br />
„Abhören― vertraulicher Daten sollte nicht möglich sein (auch nicht durch Abfangen von<br />
Druckdateien). Dies gilt nicht nur bei der Übertragung über Organisationsgrenzen hinweg<br />
sondern auch innerhalb von Organisationen, denn nicht jeder Mitarbeiter soll auf<br />
alle Daten Zugriff haben.<br />
1.1.1.9 Authentisierung<br />
Bestimmte Drucker und begrenzte „teure― Druckfunktionen (z.B. 1200 dpi im Vollbild-<br />
Modus auf Fotopapier) sollen oft nur für bestimmte Benutzergruppen zugänglich sein,<br />
dann ist die Möglichkeit der Authentisierung hilfreich.<br />
Seite 269
1.1.1.10 Ohne Spezialsoftware administrieren und zur Übersicht<br />
Idealerweise sollte die Druckinfrastruktur die Konfiguration und Kontrolle, wie zum<br />
Beispiel den schnellen Einblick in die Warteschlangen, über Webbrowser durchgängig<br />
unterstützen, um den schnellen und einheitlichen Zugriff, Flexibilität und Unabhängigkeit<br />
zu schaffen.<br />
In Abhängigkeit von den verwendeten Druckern lässt sich diese Möglichkeit umsetzen,<br />
dies gilt vor allem für die meisten PostScript-Drucker im professionellen Umfeld. Der<br />
Funktionsumfang dieser Browser-basierten Administrationsschnittstellen ist abhängig<br />
von dem, welche Funktionen die einzelnen Druckertypen unterstützen. Hierbei werden<br />
keine weiteren Werkzeuge benötigt. Es handelt sich um eine sehr flexible und portable<br />
Methode des Druckermanagements.<br />
Ein zusätzlicher Kommandozeilenzugang garantiert den Zugriff „von überall her― für<br />
Administratoren.<br />
Bezüglich der Überwachung bieten verschiedene PostScript-Drucker unter anderem die<br />
Möglichkeit Störungs-Emails zu konfigurieren, wobei die Meldungen auch als XML-Datei<br />
angehängt werden können und damit die Chance einer automatisierten Weiterverarbeitung<br />
bieten, um sie zum Beispiel mittels Skript auszuwerten und darauf hin bei Bedarf<br />
weitere Maßnahmen automatisch zu initiieren (zum Beispiel bei Papierstau den Hausmeister<br />
benachrichtigen). Diese Lösungen gibt es aber auch nicht „out of the box―, sie<br />
müssen erst definiert und dann implementiert werden. Weiterhin kann man sich mit vielen<br />
PostScript-Druckern im professionellen Bereich auch die Möglichkeiten von SNMP<br />
zunutze machen.<br />
Generell sollte angestrebt werden, möglichst wenige, plattformunabhägige flexible Werkzeuge<br />
in einer Gesamtlösung einzusetzen. Hierdurch werden insbesondere das Risiko<br />
von irrtümlichen Fehlbedienungen und Schulungsaufwand und -Kosten reduziert.<br />
Wesentlich ist, dass vor der Beschaffung von Druckern die Anforderungen hinsichtlich<br />
der Managementmöglichkeiten genau untersucht und definiert werden sollten, um darauf<br />
aufbauend geeignete Drucker zu beschaffen.<br />
1.1.1.11 Integration in heterogene Welten<br />
Eine Drucksoftware sollte multiprotokollfähig sein, denn in der Praxis kommt noch kein<br />
allgemein verwendeter Standard zum Einsatz – Multiprotokoll-Fähigkeit muss sowohl in<br />
Richtung Clients gegeben sein (die frei in der Wahl des Protokolls sein sollten, über das<br />
sie ihre Druckdaten schicken wollen) als auch Richtung Zieldrucker beziehungsweise<br />
second-level Print-Server (die oft zu „altmodisch― sind und deshalb bestimmte Konventionen<br />
verlangen). Zugleich muss eine umfassende Unterstützung des künftigen Standards<br />
IPP vorhanden sein.<br />
Seite 270
1.1.2 Unterstützung etablierter F<br />
208<br />
F Standards<br />
bei Druckdaten-Übertragung<br />
Die genannten funktionalen Anforderungen müssen durch die vorgeschlagenen technischen<br />
Lösungen erfüllt werden. Dabei ist vor allem eine entsprechende Offenheit durch<br />
die Konsolidierung auf bestehenden anerkannten offenen Standards anzustreben. Zu<br />
diesen Standards zählen zum einen die Druckprotokolle und zum anderen die Drucker-<br />
und Seitenbeschreibungssprachen.<br />
1.1.2.1 Druckprotokolle<br />
Die für einen Übergangszeitraum noch erforderliche Unterstützung althergebrachter oder<br />
proprietärer Protokolle (und Geräte, die darauf beruhen) sollte weiterhin gewährleistet<br />
sein. Nachfolgend werden die wichtigsten Protokolle vorgestellt:<br />
LPR/LPD<br />
Das LPR/LPD Protokoll wurde im August 1990 im RFC 1179 von L. McLaughlin III im<br />
Namen der Network Printing Working Group beschrieben. Früher wurde der Druckservice<br />
oft als zentraler Dienst eines Rechenzentrums erbracht. Bislang war es nicht<br />
üblich, dass Netzwerkdrucker (zum Beispiel als Etagendrucker oder Abteilungsdrucker)<br />
oder lokale Drucker in einer Organisationseinheit weit verbreitet waren. Durch die Entwicklung<br />
und des Einsatzes des LPR/LPD Protokolls war es den Systemadministratoren<br />
möglich, Ausdrucke in betriebsschwachen Zeiten durchzuführen. Der Anwender konnte<br />
so einen Druckjob anstoßen, ohne sich um den eigentlichen Ausdruck kümmern zu<br />
müssen. Die im Rechenzentrum erstellten Ausdrucke wurden dann entweder verteilt<br />
oder vom Anwender im Rechenzentrum abgeholt. In heutiger Zeit hat die Bedeutung des<br />
zentralen Drucks in einem Rechenzentrum jedoch an Bedeutung verloren. Trotzdem ist<br />
der Einsatz des Protokolls auf Grund der sich bietenden Möglichkeiten auch heute noch<br />
sinnvoll, da es zum Beispiel den Administratoren Transparenz über alle Druckaufträge<br />
innerhalb einer Organisation verschaffen kann.<br />
Der Protokollname LPR/LPD setzt sich aus den folgenden Abkürzungen zusammen:<br />
� LPR ist die Abkürzung für Line Printer Redirector und ist unter Unix der Befehl,<br />
um eine zu druckende Datei an einen Drucker zu senden.<br />
� LPD steht für Line Printer Daemon. Dieser Daemon nimmt über eine HTCPH-<br />
Verbindung Befehle entgegen, um einen lokal angeschlossenen HDruckerH zu<br />
steuern.<br />
LPR/LPD, das traditionelle Protokoll zur Druckdaten-Übertragung (vom Client zum Print-<br />
Server, von Server zu Server und vom Server zum Ziel(-netzwerk)-drucker, oder auch<br />
vom Client direkt zum Drucker), hat aber auch viele Nachteile. Es ist unverschlüsselt,<br />
unautorisiert, wenig zuverlässig und nicht bidirektional (zum Beispiel keine Rückmeldungen<br />
vom Drucker). Ferner ist es kein „richtiger― Standard, wodurch verschiedene Implementierungen<br />
möglich sind, die aufgrund von Inkompatibilitäten mitunter zu Schwierigkeiten<br />
führen.<br />
208 Sowohl offener als auch nicht offener Standard.<br />
Seite 271
IPP<br />
Internet Printing Protocol ist der Internetstandard für das Drucken sowohl im lokalen<br />
Netz (LAN) als auch im großräumigen Netz (WAN, Internet). Das Protokoll deckt alle<br />
denkbaren Kommunikationsmöglichkeiten ab (vom Client zum Server, vom Server zum<br />
Server, vom Server zum Zieldrucker und auch den direkten Weg vom Client zum Zieldrucker).<br />
Die letzte und einzig verbindliche Spezifikation ist IPP-1.1. Das IPP wurde von<br />
209<br />
einer Arbeitsgruppe (der PWGF<br />
F), bestehend aus Vertretern von Drucker-, Betriebssystem-<br />
und Software-Herstellern aus Europa, USA und Japan entworfen und von der IETF<br />
standardisiert. Es ist bereits in allen aktuellen Netzwerk-Druckern eingebaut. So lange<br />
allerdings noch „alte― LPR/LPD-Modelle im Einsatz sind (die auch noch auf Jahre hin<br />
funktionsfähig bleiben werden), wird die entsprechende Umstellung nur dort erfolgen, wo<br />
es unmittelbar sinnvoll ist. Die Nutzung von IPP ermöglicht sowohl die Nutzung von Verschlüsselungs-<br />
als auch Authentisierungsfunktionen, zum Beispiel bei der Verwendung<br />
unter CUPS, wie dies im Kapitel XII.A 1.2 X dargestellt<br />
netzwerkfähigen Druckern unterstützt.<br />
Socket/ AppSocket<br />
wird. IPP wird von den meisten<br />
AppSocket (oft besser bekannt als „HP JetDirect―) ist ein performantes Übertragungsprotokoll<br />
für Druckdaten. Es ist leistungsfähiger und zuverlässiger als LPR/LPD: es<br />
beinhaltet ein gewisses Maß an bidirektionaler Kommunikation und es ist schneller.<br />
Allerdings bietet es weder Verschlüsselung von Druckdaten noch Authentisierung von<br />
Nutzern. Die Status-Rückmeldungen vom Drucker erfolgen in der Praxis nur vom Server<br />
zum Drucker oder bei direktem Weg vom Client zum Drucker. Inzwischen wird das<br />
AppSocket Protokoll auch von anderen Herstellern als HP unterstützt.<br />
SMB/ CIFS<br />
Windows-Clients benutzen dieses Protokoll, um an Print-Server (oder andere Windows-<br />
Rechner, sofern diese „freigegebene― Drucker anbieten) Druckdaten zu übertragen. Der<br />
Weg vom nächsten Windows-Rechner zum Ziel(-netzwerk-)drucker muss dann häufig<br />
wieder über ein anderes Protokoll geregelt werden, es sei denn dieser ist lokal angeschlossen,<br />
zum Beispiel über Parallel-, USB-, FireWire- oder serielle Schnittstelle.<br />
MS-RPC<br />
Windows-Clients ab NT4 können dieses Protokoll verwenden, um Druckdaten an einen<br />
Windows-Print-Server (ab NT4) zu übertragen. Ebenso kann eine automatische Treiberinstallation<br />
auf den Clients über RPC-Methoden erfolgen, sofern der Print-Server die<br />
entsprechenden Dateien vorhält. (Das „Hochladen― der Treiber auf den Print-Server<br />
durch einen Administrator von einem Client-Rechner aus, basiert ebenfalls auf RPC). Da<br />
Samba SMB/CIFS beherrscht, kann dieses Protokoll auch für CUPS nutzbar gemacht<br />
werden.<br />
209 http://www.pwg.org/ipp/<br />
Seite 272
1.1.2.2 Die Druckerbeschreibungssprache PostScript Printer Description<br />
PostScript Printer Descriptions (PPD) sind Dateien, in welchen die speziellen Eigenschaften<br />
(Bildauflösungen, Papiergrößen und -fächer, Schriften, usw.) eines bestimmten<br />
PostScript Druckermodells beschrieben werden können. Diese PPD-Dateien sind keine<br />
Druckertreiber und sie werden in der Regel von den Druckerherstellern bereitgestellt. Mit<br />
ihrer Hilfe lassen sich bei Verwendung eines einheitlichen Treibers für alle PostScript-<br />
Drucker die in der Datei beschriebenen speziellen Eigenschaften eines Druckers<br />
ansteuern.<br />
Die Spezifikation der Druckerbeschreibungssprache PPD wurde ursprünglich von der<br />
Firma Adobe definiert und wird heute von nahezu jedem modernen Drucksystem unterstützt,<br />
welches PostScript-Drucker ansteuert kann.<br />
1.1.2.3 Die Seitenbeschreibungssprachen (PostScript)<br />
Die Seitenbeschreibungssprache PostScript (PS) ist eine Programmiersprache, die auf<br />
eine langjährige Entwicklung zurückblickt. Entwickelt wird PostScript durch die Firma<br />
210<br />
Adobe seit ihrer Gründung im Jahre 1982 F<br />
F als Ergebnis der Erfahrungen mit den<br />
211<br />
Quasi-Vorgängern, Design System (1976) und JaM (1978). F<br />
F Mit PostScript besteht die<br />
Möglichkeit in normierter Form und geräteunabhängig Grafiken, Schriften, geometrische<br />
Objekte und Rasterbilder innerhalb eines Dokuments anzuordnen. Die Beschreibung<br />
erfolgt dabei im PostScript-Format innerhalb sogenannten PostScript-Dateien, die an<br />
den jeweiligen PostScript-Drucker oder andere PostScript-fähige Ausgabegeräte, wie<br />
zum Beispiel Plotter, gesendet werden. PostScript-fähige Ausgabegeräte zeichnen sich<br />
vor allem dadurch aus, dass sie in der Lage sind diese Dateien, das heißt das Post-<br />
Script-Format zu interpretieren und in Rastergrafiken umzusetzen. Dafür sind diese<br />
Geräte mit einem entsprechenden Interpreter ausgestattet. Es gibt solche Interpreter<br />
auch reine Software-Implementierung, eine der wohl bekanntesten ist die Open Source<br />
212<br />
Software Ghostscript F<br />
F.<br />
1.2 Common Unix Printing System (CUPS)<br />
Das Common Unix Printing System (CUPS) wurde von Easy Software Products entwickelt.<br />
Es wurde als Nachfolger von älteren Drucksystemen, zum Beispiel LPD entworfen.<br />
Am 11. Juli 2007 gab Apple bekannt, die Rechte an CUPS gekauft zu haben.<br />
Seit MAC OS 10.2 (Tiger) hat Apple CUPS integriert. Die aktuelle <strong>Version</strong> von MAC OS<br />
213<br />
ist die <strong>Version</strong> 10.5 (Leopard). Aktuell F<br />
F ist CUPS in der <strong>Version</strong> 1.3.6 verfügbar. Und<br />
die <strong>Version</strong> 1.4 befindet sich in der Entwicklung.<br />
CUPS ist ein modulares, auf einer Client/Server-Architektur aufbauendes Drucksystem<br />
für Unix-artige Betriebssysteme. Es besteht aus einem Printspooler, einem Scheduler<br />
und einem Filtersystem, welches die Druckdaten in ein für den Drucker verständliches<br />
Format konvertiert, sowie einem Backendsystem, welches diese Daten zum Drucker<br />
sendet. Damit erlaubt es CUPS einem Computer als Druckserver zu agieren.<br />
210 Manche Quellen erwähnen auch 1983 oder 1984 als Beginn der Entwicklung.<br />
211 http://www.mathematik.uni-ulm.de/help/pstut/01_inh.html<br />
212 Hhttp://www.cs.wisc.edu/~ghost<br />
213 10. März 2008<br />
Seite 273
Der wesentliche Vorteil von CUPS ist, dass es ein standardisiertes und modularisiertes<br />
Drucksystem ist. Darüber hinaus ist CUPS eine Open Source Software und steht sowohl<br />
unter der GNU General Public License als auch der GNU Lesser General Public License<br />
(<strong>Version</strong> 2) zur Verfügung.<br />
In der aktuellen <strong>Version</strong> bietet CUPS auch die Unterstützung des IPv6 Standards und<br />
die Freigabe von Druckern über LDAP in der <strong>Version</strong> 3.<br />
In der folgenden Auflistung werden die potentiellen Architekturmöglichkeiten beim Einsatz<br />
von CUPS skizziert, wobei die Erhöhung der Ausfallsicherheit für viele Einsatzszenarien<br />
von entscheidender Bedeutung ist:<br />
1.2.1 Server<br />
Jeder CUPS-Rechner, der direkt mit einem Drucker kommuniziert, kann die Druckfunktion<br />
anderen Rechnern als Dienst anbieten und fungiert somit als CUPS-Server. Voraussetzung<br />
dafür sind die entsprechenden PPDs und Filter für die druckgerechte Aufbereitung<br />
der Druckdateien.<br />
1.2.2 Client<br />
Jeder Rechner, der Druckdateien an einen Server weiterschickt, ist ein CUPS-Client. Ein<br />
Client benötigt lokal keine Filter oder PPDs. Wenn jedoch auf dem Client festgelegt werden<br />
soll, welche Druckmöglichkeiten beim Drucken bestehen, werden die PPDs vom<br />
Server automatisch auf den Client übertragen.<br />
1.2.3 Zero-Administration für native CUPS Clients<br />
CUPS-Server verbreiten innerhalb des Netzwerkes Informationen über die installierten<br />
Drucker an die Clients. Damit wissen die Clients, welche Drucker im Netzwerk<br />
verwendet werden können. Die Informationen werden mittels UDP-Broadcasting<br />
publiziert. Alternativ kann der Client gezielt die Informationen bei den Servern<br />
nachfragen (Polling). Das Polling kann auch gezielt bei Servern eingesetzt werden, die<br />
durch Router getrennt sind. Server, die in unterschiedlichen Netzen stehen, können als<br />
BrowseRelay konfiguriert werden und die Daten über die verfügbaren Drucker abholen<br />
und an die Clients der eigenen Broadcast-Domäne weiterleiten.<br />
1.2.4 Clustering für Ausfallsicherheit und Failover<br />
Zwei oder mehrere CUPS-Server können so konfiguriert werden, dass Ausfallsicherheit<br />
bezüglich der Druckdienste implementiert werden kann. Dieses Ziel kann erreicht<br />
werden, wenn die Server mit denselben Druckern und Druckernamen konfiguriert<br />
werden. Auf den CUPS-Servern werden automatisch implizite Klassen gebildet, die aus<br />
den Druckern mit demselben Namen bestehen. Der Server, der zuerst bereit ist,<br />
übernimmt dann den Druckauftrag des Clients und schickt ihn an den Drucker. Diese<br />
Konfiguration kann auch durch die manuelle Bildung von Klassen hergestellt werden,<br />
wobei diese Klassen auch aus Druckern mit unterschiedlichen Namen bestehen können.<br />
Seite 274
1.2.5 Druck und Druckeransteuerung<br />
Die Funktionalität von CUPS ist durch die Implementierung von IPP plattformübergreifend<br />
angelegt. Das IPP wird als Protokoll zwischen den CUPS-Servern, -Clients und<br />
modernen Druckern mit direkter IPP-Unterstützung als Medium der Kommunikation- und<br />
Datenübertragung verwendet.<br />
Unter Verwendung von IPP kann unter CUPS die Kommunikation zwischen Client- und<br />
dem Serversystem in verschlüsselter Form erfolgen. Für die Übertragung der Daten<br />
kann SSL 3 oder TLS genutzt werden. Dies kann in Firmen und Behörden, wo vertrauliche<br />
Dokumente ausgedruckt werden, von besonderer Bedeutung sein. Durch diese<br />
Maßnahmen ist die eigentliche Kommunikation verschlüsselt. Bisher kann CUPS Zertifikate<br />
nicht validieren oder Certification Revocation Lists (Zertifikatssperrlisten) prüfen.<br />
Nach einer erfolgreichen „Man in the middle― Attacke und dem Vorzeigen eines beliebigen<br />
Zertifikats bietet TLS keinen Schutz mehr. Die Fähigkeit Zertifikate zu prüfen ist aber<br />
einfach nachzurüsten.<br />
Bei der Kommunikation mit herkömmlichen Druckern oder Print-Servern können CUPS-<br />
Module, sogenannte „BackEnds―, eingesetzt werden Diese Module ermöglichen die<br />
Kommunikation mittels anderer Protokolle. In XAbbildung 29 wird die Verwendung der<br />
Protokolle an den jeweiligen Übergängen dargestellt.<br />
Abbildung 29: Drucken unter CUPSF<br />
Für die Druckeransteuerung verwendet CUPS die in Abschnitt II.F 1.1.2.2 X beschriebene<br />
PostScript Printer Descriptions (PPD) und dies nicht nur für PostScript-fähige Drucker.<br />
214<br />
Hhttp://www.linuxprinting.org/kpfeifle/LinuxKongress2002/Tutorial/ H<br />
Seite 275<br />
214
CUPS ist in der Lage diese auch für Drucker ohne eigenen eigenen PostScript-<br />
Interpreter einzusetzen, um damit die entsprechenden Konfigurationseinstellungen über<br />
das Web-Frontend oder über die Konfigurationsmasken der Clients zu ermöglichen.<br />
Für Drucker, die nicht PostScript-fähig sind, konvertiert der CUPS-Server dann die vom<br />
Client gelieferten Daten über entsprechende Filter in die jeweilige hersteller- und gerätespezifische<br />
Seitenbeschreibungssprache.<br />
Solche Filter zur Konvertierung von PostScript werden unter Linux u.a. auch mit<br />
Ghostscript umfangreich zur Verfügung gestellt. CUPS selbst integriert eine angepasste<br />
<strong>Version</strong> von Ghostscript.<br />
Für die Verwendung in CUPS können die PPD-Dateien benutzer- und anwendungsspezifisch<br />
angepasst werden. Informationen über eigene CUPS Erweiterungen zu<br />
215<br />
Adobes PPD können im Internet nachgeschlagen werden F<br />
F.<br />
1.2.5.1 Direkter Druck vom Arbeitsplatzsystem<br />
Ein direkter Druck von einem Client auf einen Drucker ist unter CUPS auf Grund der<br />
Architektur nicht vorgesehen. Es besteht aber die Möglichkeit einen CUPS-Server und<br />
einen Client gleichzeitig auf einem Unix-basierten (z.B. Linux oder Mac OS X) Arbeitsplatzrechner<br />
zu nutzen. Damit können dann Dateien vom Client aus auf einem direkt<br />
angeschlossenen Drucker ausgedruckt werden.<br />
1.2.5.2 Druck via Print-Server<br />
216<br />
Der Druckauftrag eines Client wird an einen HSchedulerHF<br />
F gesendet, der die zu druckenden<br />
Daten mittels Filter in das HPostScriptH-Format konvertiert. Anschließend werden<br />
diese Daten zum einem „Backend― gesendet, welches die Daten entweder auf dem<br />
entsprechenden Drucker druckt (und die PostScript-Daten dafür umwandelt, wenn der<br />
Drucker kein PostScript-Drucker ist) oder übermittelt sie an einen anderen CUPS-Server.<br />
Solange CUPS ohne Samba eingesetzt wird bestehen für Windows-basierte Clients nur<br />
eingeschränkte Möglichkeiten über CUPS alleine drucken zu können, da sie nicht auf die<br />
Druckerfreigabe zugreifen können. Da über eine entsprechende CUPS Software-<br />
Bibliothek eine optimale Integration von CUPS in Samba verfügbar ist (siehe auch<br />
Abschnitt XII.A 1.3 X), kann ein Samba-Print-Server seine ankommenden Druckaufträge<br />
(von Windows-basierten Clients) per IPP an einen CUPS-Print-Server weiterleiten. Das<br />
Ganze erfolgt für die Anwender völlig transparent.<br />
Bei einem Einsatz von Windows 2000 (Workstation und Server) oder höheren <strong>Version</strong>en<br />
von Windows ist ein Drucken über CUPS ohne Samba möglich, wenn das IPP Protokoll<br />
genutzt wird. IPP wird, wie bereits weiter oben erwähnt, von den meisten netzwerkfähigen<br />
Druckern unterstützt.<br />
Um die volle Funktionalität von CUPS nutzen zu können kann es notwendig sein einen<br />
217<br />
Hotfix von Microsoft einzuspielenF<br />
F.<br />
215<br />
Hhttp://www.cups.org/documentation.php/spec-ppd.html<br />
216<br />
Ein Steuerungsprogramm welches die zeitliche Ausführung mehrerer (Druck)Prozesse<br />
regelt.<br />
217<br />
Hhttp://support.microsoft.com/kb/884897/de<br />
Seite 276
1.2.6 Technische Umsetzung der Treiberfunktion<br />
Der folgende Abschnitt bezieht sich auf die Kommunikation mit Druckern, die kein Post-<br />
Script unterstützen. Bei Druckern, die PostScript unterstützen, werden die Daten im<br />
PostScript-Format direkt an den Drucker gesendet, der dann die Aufbereitung der Daten<br />
mittels integriertem Interpreter zum Ausdruck selbst vornimmt.<br />
Die Umsetzung der Druckdatei in druckergerechte Bitmaps kann bei Druckern, die keine<br />
PostScript-Drucker sind, über zwei unterschiedliche Modelle realisiert werden:<br />
� Die komplett clientseitige Ausführung der Treiberfunktionen<br />
Hierbei wird die Druckdatei auf dem Client druckfertig aufbereitet. Der Print-<br />
Server hat reine Spooling-Funktionen für „raw― Druckdaten. Treiber können dem<br />
Client zum Download und zur automatischen Installation angeboten werden.<br />
� Die Druckdaten-Aufbereitung erfolgt auf dem Print-Server<br />
Hierbei werden die Druckdaten von den Clients im PostScript-Format an den<br />
Print-Server gesendet. Auf den Clients wird hierzu ein entsprechender Post-<br />
Script-Treiber benötigt, der vom Server zur automatischen Installation angeboten<br />
werden kann. Die aufbereiteten Druck-Daten werden vom Server an den gewünschten<br />
Drucker weitergeleitet. Sofern es sich um einen Nicht-PostScript-<br />
Drucker handelt, erfolgt die Druckaufbereitung mittels spezieller Software (siehe.<br />
Abschnitt II.F 1.1.2.3).<br />
Das zweite Modell, das heißt die Aufbereitung der Druckdaten auf dem Printserver, bietet<br />
gegenüber dem ersten Modell mehrere Vorteile:<br />
� Es unterstützt zusätzlich die meisten gängigen Nicht-PostScript-Drucker (abhängig<br />
von der Unterstützung durch Ghostscript oder andere Treiberpakete).<br />
� Automatisches Accounting<br />
Über jede Seite werden Druckzeit, Auflage, Zieldrucker, Druck-ID, Anwendername,<br />
und Absender-IP automatisch mitgeloggt und stehen für spätere Auswertungen<br />
(Kostenkontrolle, Statistiken) zur Verfügung.<br />
� Quotierungsoption<br />
Druck-Quotas (nach Anzahl der Seiten und/oder Größe der Druckdaten-Menge)<br />
können den Nutzern pro Drucker zugeordnet werden.<br />
� Reprint-Funktion<br />
Aufträge können über einen gewissen Zeitraum aufbewahrt und zur Verfügung<br />
gestellt werden, wenn ein Neu- oder Nachdruck erforderlich sein sollte (ohne<br />
dass der Client die Datei nochmals suchen, öffnen und abschicken muss).<br />
� Redirect-Funktion<br />
Druckdateien können jederzeit auf einen anderen Zieldrucker umgeleitet werden,<br />
selbst dann, wenn der ursprüngliche Drucker ein PostScript-Modell war und der<br />
neue Drucker ein nicht-PostScript-Gerät ist. Druckoptionen können modellgerecht<br />
auf das neue Zielgerät angepasst werden.<br />
� Treiber-Konsolidierung<br />
Bei nicht PostScript Druckern nutzen alle Clients im Endeffekt denselben Core-<br />
PostScript-Treiber, der nur durch eine ASCII-Datei, die „PPD―, modifiziert wird.<br />
Seite 277
Demgegenüber stehen jedoch folgende Einschränkungen:<br />
� Erhöhter Ressourcenbedarf<br />
Die zentrale Druckdatenaufbereitung auf dem Server erfordert mehr RAM, CPU<br />
und HD-Platz. Dieser kann jedoch zuverlässig im Voraus ermittelt werden, wenn<br />
das erwartete Druckaufkommen bekannt ist. Bei Druckern die PostScript-Daten<br />
verwenden können, wird die PostScript-Datei einmalig erzeugt und dann weitergeleitet.<br />
� Eventuell leichte Einschränkungen bei älteren Druckermodellen<br />
Zwar wird die Mehrzahl der gängigen Druckermodelle unterstützt – allerdings gibt<br />
es, einige wenige ältere Geräte, vor allem im Heimanwenderbereich, bei welchen<br />
dies nicht der Fall ist. Eine Liste der unterstützten Hersteller und Modelle kann<br />
218<br />
der „Linuxpriniting.org―-DatenbankF<br />
F entnommen werden. Gegebenenfalls kann<br />
man für PostScript-fähige Drucker beim Hersteller einen Treiber für Mac OS 9<br />
oder Mac OS X laden und dann die PPD extrahieren.<br />
1.2.7 Filter<br />
CUPS verwendet intern ein modular aufgebautes Filtersystem. Es setzt auf offenen<br />
Schnittstellen auf und kann jederzeit erweitert werden. Dabei können beliebige<br />
Scriptsprachen (Shell, Perl, Python) oder Programmiersprachen (C, C++, Java etc.) zum<br />
Einsatz kommen. Die Einbindung proprietärer Binär-Programme ist über Wrapper-<br />
Skripte auf einfache Weise möglich.<br />
1.2.8 BackEnds<br />
Neue BackEnds sind leicht „andockbar―; sei es zur umgebungsspezifischen Anpassung<br />
an spezielle Anforderungen (zum Beispiel automatische Replikation bestimmter Druckaufträge<br />
in einer woanders lokalisierten Abteilung, zum Beispiel zwecks Ablage von<br />
Geschäftsbriefen im Archiv) oder weil technologische Neuerungen dieses Vorgehen<br />
attraktiv machen (Wireless LAN, Bluetooth, FireWire).<br />
1.2.9 Zugriffssteuerung<br />
Die Zugriffssteuerung für die von Print-Servern betriebenen Netzwerkdrucker wird vom<br />
CUPS Print-Server geregelt, sofern diese nicht über einen Verzeichnisdienst gesteuert<br />
wird. Dabei unterstützt CUPS auch die Authentifizierung auf Basis des Kerberos-<br />
219<br />
ProtokollsF<br />
F.<br />
218 http://www.linuxprinting.org/show_driver.cgi?driver=hpijs<br />
219 http://www.cups.org/documentation.php/kerberos.html<br />
Seite 278
1.2.10 Werkzeuge<br />
CUPS hat ein „eingebautes― Web-Interface, das über die URL „http://CUPS-<br />
DRUCKSERVER:631/― erreichbar ist. Es ermöglicht den informativen Zugang aller<br />
Nutzer zu den Funktionen des Print-Servers. Benutzer können in Abhängigkeit von der<br />
Konfiguration den Status von Druckaufträgen überwachen sowie Druckaufträge<br />
abbrechen, neu starten oder alte Aufträge nachdrucken und so weiter.<br />
Über das Web-Interface kann man Drucker(-Warteschlangen) neu anlegen, löschen,<br />
umkonfigurieren, starten, stoppen, schließen oder öffnen sowie Druckaufträge stornieren,<br />
diese auf Halde legen oder neu starten. Die Möglichkeiten zur Verwendung des<br />
Web-Interface können durch Konfiguration des CUPS-Servers eingeschränkt beziehungsweise<br />
erweitert werden. Das Web-Interface unterliegt denselben Zugangskontrollen<br />
wie die allgemeinen CUPS-Ressourcen. Jedes Objekt des Print-Servers (Zugriff<br />
auf eigene Jobs oder einzelne Drucker, Zugriff auf alle Drucker oder alle Jobs usw.)<br />
lässt sich mit differenzierten Zugriffsrechten versehen: zum Beispiel „User Müller darf<br />
administrieren, aber nur wenn er von Rechner A oder B zugreift―, oder „Alle User dürfen<br />
eigene Druckjobs löschen, aber keine fremden―.<br />
In Abhängigkeit der vom Drucker unterstützten Protokolle und den auf dem CUPS Server<br />
installierten Druckertreibern ist eine Überwachung der Drucker möglich. Hierunter<br />
wird verstanden, dass das CUPS System u.a. folgende Warnungen der Drucker erkennt<br />
und meldet:<br />
� Füllstandsanzeige der Papierschächte<br />
� Füllstandsanzeige von Toner / Tintenpatronen<br />
� Fehlermeldungen der Drucker (zum Beispiel Papierstau)<br />
� Status des Druckers (zum Beispiel Online, Offline)<br />
Die Ursachen für die oben genannten Warnmeldungen lassen sich in den meisten Fällen<br />
nur direkt am Drucker beheben.<br />
Darüber hinaus stehen unabhängig davon die „eingebauten― Werkzeuge professioneller<br />
Drucker zur Verfügung, wie sie im Abschnitt XII.F 1.1.1.10 X angesprochen werden.<br />
1.2.11 Schnittstellen<br />
Sobald ein System TCP/IP unterstützt, bildet CUPS eine vielseitige Schnittstelle für<br />
Druckdienste zu allen gängigen Druckern und Clientsystemen. Dadurch lassen sich heterogene<br />
und sehr flexible Drucknetzwerke aufbauen, die auch eine gewisse Zukunftssicherheit<br />
bieten, solange das TCP/IP Protokoll genutzt wird. Drucker, die kein TCP/IP<br />
unterstützen können mit CUPS nicht direkt angesprochen werden. Bei Bedarf kann dies<br />
jedoch über entsprechende Druckerboxen realisiert werden. Beim Einsatz von CUPS<br />
kann auch nach Druckern „gebrowst― werden. Diese Kommunikation findet über das<br />
UDP Protokoll (Port631) statt.<br />
Es ist darauf zu achten, dass die Kommunikation mit dem CUPS Server entweder über<br />
die IP Adresse oder den vollqualifizierten Domainnamen des Servers erfolgt. Windows<br />
Clients können in einer reinen CUPS Umgebung nicht über Druckerfreigaben kommunizieren.<br />
Seite 279
1.2.12 Fazit<br />
Unter Linux ist CUPS der de-facto Standard aller großen Distributionen (Suse, Debian,<br />
RedHat, usw.). CUPS ist das System der Wahl, sowohl in homogenen Linux-<br />
Systemlandschaften als auch in heterogenen Systemlandschaften mit windowsbasierten<br />
Clientsystemen.<br />
Die Funktionalität von CUPS ist durch die Implementierung von IPP (Internet Printing<br />
Protocol) plattformübergreifend angelegt. CUPS unterstützt aber auch alle weiteren relevanten<br />
Druckprotokolle wie LPR/LPD, Socket/AppSocket, SMB/CIFS und MS-RPC (in<br />
Kombination mit Samba).<br />
Darüber hinaus bietet CUPS verschiedene Möglichkeiten, Datensicherheit auch beim<br />
Drucken zu gewährleisten. Hierzu gehören die SSL-verschlüsselte Übertragung bei IPP-<br />
Verwendung oder auch die Benutzer-Authentifizierung im Zusammenspiel mit Samba<br />
oder Kerberos. Dies hat auch im Hinblick auf das Accounting von Druckerzugängen<br />
große Vorteile.<br />
Im Vorfeld einer Migration sollte in jedem Fall die Unterstützung der eingesetzten<br />
Druckermodelle überprüft werden. Dies gilt insbesondere, wenn die Druckaufbereitung<br />
komplett auf den Print-Servern erfolgen soll, da in wenigen, vereinzelten Fällen eine<br />
Unterstützung nicht gegeben sein könnte.<br />
1.3 Common Unix Printing System (CUPS) mit Samba<br />
CUPS lässt sich aufgrund der Tatsache, dass seine Funktionen in einer Library (Software-Bibliothek)<br />
implementiert wurden, sehr gut integrieren. Dadurch können andere<br />
Programme seine Funktionen nutzen, indem sie gegen diese Bibliothek „linken―. Samba<br />
macht davon Gebrauch. Per Default ist Samba gegen libcups.so gelinkt. Ein Samba-<br />
Print-Server kann dadurch seine ankommenden Druckaufträge per IPP an CUPS-Print-<br />
Server weiterleiten. Diese CUPS Print-Server können auf anderen, für den Druckdienst<br />
dezidierten Hosts installiert sein oder auf demselben wie Samba. Die Verwendung von<br />
IPP geschieht hierbei transparent für den Administrator oder Nutzer und erfordert keine<br />
weitere Konfiguration.<br />
1.3.1 Möglichkeiten des Zusammenspiels von SAMBA und CUPS<br />
1.3.1.1 Treiber-Download & -Installation durch Clients mit „Point & Print“<br />
Die CUPS/Samba-Kombination unterstützt den automatisierten Treiber-Download zu<br />
Windows-Clients mittels „Point and Print―. Samba muss hierfür so konfiguriert sein, dass<br />
es einen NT-Print-Server nachbildet. Die Konfiguration ist in der Samba HOWTO Collection<br />
detailliert beschrieben und kann leicht realisiert werden. Auch das Hochladen von<br />
Treibern durch einen Administrator von einer Client-Maschine aus wird unterstützt.<br />
Die Druckertreiber liegen hierbei auf dem Samba-Server. Sie werden automatisch im<br />
Hintergrund auf den Windows Client-Systemen installiert, sobald der Nutzer erstmals<br />
den Drucker in der Netzwerkumgebung sucht oder erkennt und (per „Rechts-Mausklick―)<br />
im Kontext-Menü „Verbinden...― auswählt.<br />
Seite 280
1.3.1.2 Automatische Treiberinstallation per Logon-Scripts<br />
Noch komfortabler wird es für Benutzer und Administratoren innerhalb einer Domäne,<br />
wenn „Logon-Scripts― eingesetzt werden. In diesem Logon-Script muss nur die Zeile<br />
„rundll32 printui.dll,PrintUIEntry /in /n„\\SAMBASERVERNAME\druckerfreigabename―<br />
vorkommen. Hierdurch wird der entsprechende Drucker automatisch für den sich einloggenden<br />
Benutzer installiert (weitere diesbezügliche Möglichkeiten sind die Installation<br />
mehrerer Drucker, die Setzung eines Standard-Druckers, die Löschung hinfällig gewordener<br />
Druckerwarteschlangen usw.). Die vorgenannte Möglichkeit offeriert eine komfortable<br />
Administration der Druckertreiber und eine Verringerung der Aufwände für die Administratoren.<br />
Verschiedene Benutzer-Gruppen können über verschiedene Logon-<br />
Scripts verschieden angepasste Umgebungen erhalten.<br />
1.3.2 Sicherheit und Authentisierung<br />
Die Kommunikation zwischen dem Client- und Serversystem kann auch hier in verschlüsselter<br />
Form erfolgen, sofern IPP verwendet wird.<br />
Windows-Clients authentisieren sich typischerweise nicht bei CUPS, sondern bei Samba.<br />
Diese Authentisierung wird automatisch genutzt, wenn über Samba gedruckt wird.<br />
Die Rechteverwaltung wird dabei von Samba übernommen. Es ist dann lediglich auf<br />
geeignete Weise sicherzustellen, dass der Samba-Server zur Benutzung des CUPS-<br />
Print-Servers autorisiert ist. Hierbei ist zu beachten, dass ohne den Einsatz von IPP<br />
keine Verschlüsselung auf dem gesamten Kommunikationsweg vom Client zum Drucker<br />
gewährleistet wird. Dies ist in Bereichen mit einem hohen Sicherheitsbedürfnis nicht<br />
akzeptabel. Daher ist in solchen Bereichen vom Einsatz vom SMB/RPC Protokoll abzusehen,<br />
da diese keine Verschlüsselung gewährleisten.<br />
1.3.3 Publikation von CUPS-Druckern in LDAP und Active Directory<br />
Samba kann seine Dienste in einem LDAP- oder Active Directory-Verzeichnis eintragen.<br />
Davon profitieren selbstverständlich auch CUPS-Drucker und CUPS-Print-Server.<br />
Weitere Ausbaustufen der Integration in eine AD- (oder in eine diese weitgehend nachbildende<br />
LDAP-) Umgebung sind möglich.<br />
1.3.4 Fazit<br />
Die Kombination von CUPS und SAMBA stellt für Windows Clients eine leistungsfähige<br />
Printserverarchitektur zur Verfügung. Durch die Nutzung von sogenannten PPD-Dateien<br />
(PostScript Printer Discription Datei), die auch von Windows verwendet werden können,<br />
ist es möglich, dass alle Druckclients unabhängig von Ihrer Einstellung gleiche Ausdrucke<br />
erzeugen.<br />
Auch unterschiedliche Druckertreiber auf den Clients spielen keine Rolle, da unter CUPS<br />
der Ausdruck erst auf dem Server aufbereitet und dadurch immer der gleiche Druckertreiber<br />
genutzt wird. Dies ist so unter Windows nicht möglich, da immer ein Teil der<br />
Druckaufbereitung auf dem Windows Client stattfindet und somit von dem auf dem Client<br />
installierten Drucktreiber abhängig ist.<br />
Seite 281
CUPS ohne Samba kann zwar auch mit Windows Clients kommunizieren, doch die<br />
Clients können das SMB Protokoll nicht nutzen und die Druckerfreigaben sind nicht im<br />
Windows Explorer sichtbar.<br />
1.4 Windows Print Services<br />
Die in Kapitel XII.F 1.1.2.1 X beschriebene und aus dem Unix-und Mainframebereich bekannte<br />
und allgemeingültige LPR/LPD Protokoll hat mit Windows NT und den Nachfolgeversionen<br />
Einzug in die Windows Welt gefunden. Es wird auf Windows Print-Servern<br />
als Standard zur Kommunikation zwischen Server und Druckergerät verwendet.<br />
Eigenschaften des LPR/LPD Protokolls treffen auch bei der Verwendung unter Windows<br />
zu und stellen daher keinen Unterschied zu den im Unix-Bereich vorhandenen Umsetzungen<br />
des Protokolls dar.<br />
Die Kommunikation zwischen einem Windows Rechner und einem Drucker wird über<br />
einen sogenannten LPR-Port realisiert, der unter Windows eingerichtet wird und der über<br />
das LPD Protokoll angesprochen wird. Die Kommunikation erfolgt dabei ausschließlich<br />
über TCP/IP.<br />
Über das LPD/LPR Protokoll können dann von einem Client aus sowohl Print-Server, als<br />
auch Drucker direkt angesprochen werden, sofern diese mit dem Netzwerk verbunden<br />
oder direkt an dem Client angeschlossen sind.<br />
Darüber hinaus können auch andere Protokolle, wie zum Beispiel JetDirect/Appsocket<br />
genutzt werden, um Drucker anzusteuern.<br />
Seit Windows 2000 besteht auch die Möglichkeit über IPP (siehe Abschnitt II.F 1.1.2.1 X)<br />
zu drucken, sofern der jeweilige Drucker das Protokoll unterstützt. Damit besteht auch<br />
die Möglichkeit quasi „ganz natürlich― über CUPS-Server drucken. Allerdings wird derzeit<br />
durch Microsoft nur eine Implementierung der IPP-<strong>Version</strong> 1.0 angeboten, die bei der<br />
IETF nie „recommended standard― wurde, sondern nur einen Diskussions-Zwischenstand<br />
widerspiegelte und zum Beispiel den wichtigen Aspekt der Verschlüsselung von<br />
Druckdaten und der Authentisierung von Benutzern noch nicht definiert hatte. Somit<br />
muss ein CUPS-Server auf Authentisierung verzichten, will man ihn direkt vom Windows-Client<br />
aus nutzen.<br />
Die Verbindung zwischen einem Windows-Client und einem Print-Server wird typischerweise<br />
über SMB (Server Message Block) oder RPC (Remote Procedure Call) unter Windows<br />
hergestellt. RPC-Verbindungen werden dabei bevorzugt, da sie die Funktionen der<br />
Point & Print-Methode (siehe Abschnitt II.F 1.4.3 X) unterstützen. SMB wird dagegen eher<br />
für die Verbindung von Clients mit älteren Windows Betriebssystemen (Windows 98 und<br />
220<br />
früher) verwendet F<br />
F. Die Kommunikation zwischen Clients und Print-Server kann dabei<br />
auf verschiedenen Transportprotokollen basieren, wie zum Beispiel:<br />
220<br />
siehe auch „Microsoft Windows 2003, Printer Connectivity Technical Overview―, Microsoft<br />
Corporation, Published: March 2003,<br />
http://www.microsoft.com/windowsserver2003/techinfo/overview/connectivity.mspx<br />
Seite 282
� TCP/IP<br />
� NetBEUI<br />
� SPX/IPX<br />
Mit Windows Server 2000/2003 werden folgende weitere Funktionalitäten der Windows<br />
Druckdienste bereitgestellt:<br />
� Standard TCP/IP Port Monitor (SPM)<br />
SPM ist kompatibel mit SNMP und liefert im Vergleich zu LPR die Möglichkeit,<br />
detaillierte Statusinformationen abzurufen.<br />
SPM kann sowohl das Druckerserverprotokoll RAW als auch LPR verwenden.<br />
Standard für die meisten Druckgeräte ist RAW.<br />
� Internet Printing<br />
Wie bereits erwähnt besteht seit Windows Server 2000 die Option, Drucker im<br />
Web zu veröffentlichen und die Installation zu ermöglichen sowie über IPP zu<br />
221<br />
drucken F<br />
F.<br />
� Veröffentlichung im Active Directory (AD)<br />
Mit Hilfe des AD kann die Druckerfreigabe auf Windows Servern (NT/2000/2003)<br />
veröffentlicht werden, ohne dass der Anwender wissen muss, auf welchem Server<br />
sich die Druckerfreigabe befindet.<br />
� Gemischte Umgebungen<br />
Auf Windows 2000/2003 Servern können Treiber für Windows NT Clients hinterlegt<br />
werden. Die Übertragung der gerätespezifischen Einstellungen kann allerdings<br />
scheitern, wenn herstellerspezifische Treiber eingesetzt werden (müssen).<br />
Ursache hierfür ist die Verlagerung der Druckertreiber vom Kernel Mode unter NT<br />
in den User Mode unter Windows 2000/2003.<br />
1.4.1 Direkter Druck vom Arbeitsplatzsystem<br />
Der direkte Druck (siehe Abbildung 30 X, Pfeil 1) erfolgt über LPR/LPD. Zu diesem Zweck<br />
muss auf dem Arbeitsplatzsystem unter Windows der TCP/IP Print-Server installiert<br />
222<br />
seinF<br />
F. Auf dem Arbeitsplatzsystem wird ein sogenannter LPR-Port als Anschluss konfiguriert.<br />
Zu diesem Zweck muss die IP-Adresse oder ein entsprechender vollqualifizierter<br />
Hostname des Zieldruckers eingetragen werden. Zudem erfolgt die Aufforderung, ein<br />
Druckermodell und somit den entsprechenden Druckertreiber auszuwählen. Hierbei wird<br />
dann der ausgewählte Druckertreiber auf dem Client installiert. Diese Methode wird häufig<br />
verwendet, wenn die Benutzer zwischen vielen Standorten einer Organisation wechseln<br />
und keine Verwaltung der Netzwerkressourcen zum Beispiel über einen Verzeichnisdienst<br />
genutzt wird.<br />
221<br />
siehe auch „Microsoft Windows 2003, Printer Connectivity Technical Overview―, Microsoft<br />
Corporation, Published: March 2003,<br />
http://www.microsoft.com/windowsserver2003/techinfo/overview/connectivity.mspx<br />
222<br />
Windows 9x Systeme müssen hierfür eine Software von Drittherstellern verwenden.<br />
Seite 283
Voraussetzung für diese Methode ist, dass der entsprechende Drucker entweder mit<br />
einer Netzwerkkarte und IP Adresse oder über einen Print-Server an das Netzwerk angebunden<br />
ist. Beim Einsatz eines Print-Servers wird am Client die IP Adresse oder der<br />
vollqualifizierte Name des Servers eingetragen. Die Kommunikation zwischen dem Print-<br />
Server und dem Drucker erfolgt in der Regel über einen parallelen, seriellen oder USB<br />
Port. Ist ein Drucker direkt an einen Client oder über eine Printbox angebunden, kann<br />
der Client die Funktion eines Print-Servers, der die Druckaufträge dann direkt an den<br />
Drucker versendet, übernehmen. Eine Anbindung an einen Standort-Print-Server kann<br />
somit entfallen.<br />
1.4.2 Druck via Print-Server<br />
Unter Print-Server wird in diesem Abschnitt ein Windows Server (NT und folgende) verstanden,<br />
auf dem die Druckertreiber installiert sind. Dieser Server nimmt Druckaufträge<br />
entgegen und verteilt diese an die entsprechenden Drucker. Der Drucker kann sowohl<br />
über das Netzwerk mit dem Server kommunizieren oder auch als lokaler Drucker direkt<br />
mit dem Server verbunden sein.<br />
Der Druck vom Arbeitsplatzsystem über einen Print-Server erfordert zwei Datenströme:<br />
� die Übertragung der Daten vom Arbeitsplatzsystem zum Print-Server<br />
(siehe Abbildung 30 X, Pfeil 2a)<br />
� die Übertragung der Daten vom Server zum Druckgerät<br />
(siehe Abbildung 30 X, Pfeil 2b)<br />
Die Übertragung der Daten vom Server zum Druckgerät basiert in der Regel auf<br />
LPR/LPD (siehe Abschnitt II.F 1.4.1).<br />
Die Übertragung der Daten zwischen Arbeitsplatzsystem und Print-Server kann auf unterschiedliche<br />
Weise erfolgen. Serverseitig müssen hierfür zwei grundlegende Voraussetzungen<br />
erfüllt sein, damit ein Client einen bestimmten Drucker über den Server ansprechen<br />
kann:<br />
1. Der Drucker ist auf dem Print-Server eingerichtet (LPR-Port oder lokaler Anschluss,<br />
Druckertreiber).<br />
2. Der Drucker ist freigegeben.<br />
Die Freigabe ermöglicht in Windows Netzwerken unter anderem, dass der Drucker über<br />
die Suchfunktion des Windows Explorers oder über die Suchfunktion des Active<br />
Directory gefunden werden kann.<br />
Die Kommunikation zwischen Windows-Client und Print-Server (Druckerfreigabe) kann<br />
auf drei verschiedenen Wegen erfolgen:<br />
� Mittels des Befehls NET USE kann ein bestehender lokaler LPT-Port auf die<br />
Druckerfreigabe umgeleitet werden (Beispiel: net use LPT3 H\\servername\H<br />
druckerfreigabename).<br />
Diese Methode erfordert, dass der Anwender einen Drucker (Druckertreiber) auf<br />
dem LPT-Port installiert und lokal konfiguriert. Dies ist erforderlich, wenn aus<br />
DOS-Anwendungen heraus gedruckt werden muss. Die Druckdaten werden im<br />
RAW-Format gesendet. Das heißt, dass die gesendeten Daten unmittelbar vom<br />
Seite 284
Druckgerät verwertet werden können. Diese Methode wird häufig von Windows<br />
9x Systemen verwendet, wenn diese nicht über andere Funktionalitäten (zum<br />
Beispiel Novell Netware) auf die Netzwerkdrucker zugreifen können.<br />
� Es kann ein neuer LPR-Port eingerichtet werden, der als Zieladresse den Print-<br />
Server und den Namen der Druckerfreigabe beinhaltet. Die Druckdaten werden<br />
ebenfalls im RAW-Format gesendet.<br />
� Mittels der sogenannten „Point & Print―-Methode kann auf dem Arbeitsplatzsystem<br />
ein Netzwerkdrucker eingerichtet werden. Vorteil dieser Methode ist, dass<br />
eine manuelle Konfiguration oder Druckertreiberinstallation für den Anwender<br />
entfällt. Die Druckdaten werden im EMF-Format (Enhanced Meta Format) gesendet.<br />
Sie können vom Druckgerät nicht verwertet werden, sondern müssen auf<br />
dem Windows-Print-Server aufbereitet werden. Die „Point & Print―-Methode wird<br />
im folgenden Abschnitt genauer beschrieben.<br />
Abbildung 30: Allgemein: Drucken unter Windows<br />
Bei den bisher vorgestellten Methoden wird immer davon ausgegangen, dass es sich bei<br />
den Clients auch um Windows-basierte Clients handelt. Grundsätzlich besteht auch die<br />
Möglichkeit von Linux oder anderen Unix-basierten Clients aus auf Drucker, die über<br />
einen Windows Print-Server bereitgestellt werden zuzugreifen. Dabei kann man verschiedene<br />
Methoden verwenden. Zum einen besteht die Möglichkeit über einen installierten<br />
SMB-Client (Samba-Client) auf die Windowsdrucker zuzugreifen. Die meisten<br />
Desktop-Systeme (z.B. KDE, Gnome) beziehungsweise Linux-Distributionen (z.B. Red-<br />
Hat) bieten hierfür auch entsprechende Benutzer-/Administratorschnittstellen, über welche<br />
die Drucker ausgewählt werden können. Unter Verwendung der Windows Print Services<br />
for Unix (Unterstützung von LPD) auf einem Print-Server besteht auch die Möglichkeit<br />
über eine LPD-fähige Software auf den Linux-Clients Druckaufträge an Windows<br />
zu versenden. Wenn man auf dem Linux-Client einen CUPS-Server installiert hat man<br />
letztendlich die Wahl zwischen den zuvor gewählten Möglichkeiten (LPD und SMB) sowie<br />
mit Einschränkung auch der Nutzung von IPP (siehe auch XAbbildung 1X), sofern der<br />
Print-Server auf Windows Server 2000 oder höher basiert. Mit der Verwendung von<br />
CUPS stehen dann auch weitere Managementfunktionen zur Verfügung, wie zum Bei-<br />
Seite 285
spiel das Löschen von Druckaufträgen. Demgegenüber steht allerdings, dass ein CUPS-<br />
Server die Leistung des Clients gegebenenfalls negativ beeinflusst. Handelt es sich bei<br />
dem anzusteuernden Drucker um einen professionellen netzwerkfähigen Drucker, muss<br />
man erst gar nicht den Umweg über den Windows Print-Server gehen, sondern kann<br />
diesen über CUPS direkt ansteuern.<br />
1.4.3 „Point & Print“-Methode<br />
Microsoft setzt bei der Kommunikation von Print Client und Server auf das Protokoll RPC<br />
(Remote Procedure Call) und verwirklicht damit die sogenannte Point & Print-<br />
Technologie. Diese ermöglicht es zum einen, die Druckertreiber vom Server auf den<br />
Client zu übertragen und die gerätespezifischen Einstellungen (Papierschächte, Standard-Papierformate)<br />
an den Client zu übermitteln. Zum anderen wird dadurch ein Teil<br />
des Rendering-Prozesses auf den Server verlagert, sodass der Client bei der Druckaufbereitung<br />
entlastet wird. Einerseits macht sich diese Entlastung insbesondere beim Einsatz<br />
von Terminal Servern positiv auf dem Client bemerkbar. Andererseits wirkt sich die<br />
Verlagerung des Renderingprozesses auf den Server auf dessen Leistungsverhalten<br />
bemerkbar negativ aus.<br />
Zu beachten ist, dass bei dieser Methode ein Teil des Druckvorgangs auf dem Client und<br />
ein weiterer Teil auf dem Server ausgeführt werden. Daher müssen die „Teil-Treiber― auf<br />
dem Server und dem Client identische <strong>Version</strong>en besitzen, da andernfalls Probleme bis<br />
hin zur Unbenutzbarkeit des gesamten Netzwerks auftreten können. Stellt ein Client fest,<br />
dass der Treiber auf dem Server neuer ist als der lokale, so wird er automatisch auch auf<br />
dem Client aktualisiert. Wenn auf dem Server jedoch ein älterer Treiber als auf dem<br />
Client installiert ist, kann es zu Fehlermeldungen oder einem Systemabsturz kommen,<br />
wenn auf dem Client versucht wird zu drucken oder den „Eigenschaften―-Dialog zu<br />
öffnen. Dieser Zustand kann zum Beispiel dann entstehen, wenn der Treiber auf dem<br />
Server erst aktualisiert wird und danach die Treiber der Clients, wenn sie Verbindung mit<br />
dem Server aufnehmen. Wird nun der Treiber auf dem Server aus irgendwelchen<br />
Gründen, zum Beispiel wegen eines versteckten Fehlers, auf eine ältere <strong>Version</strong> gesetzt,<br />
kommt es zu diesem Problem. Das gleiche Problem tritt auf, wenn auf einem Client<br />
manuell eine neuere Treiberversion installiert wurde.<br />
Dieses Problem kann eventuell über entsprechende Softwareverteilungsmechanismen<br />
gelöst werden.<br />
1.4.4 Zusätzliche proprietäre Druckerports<br />
Um einige Lücken des LPR/LPD Protokolls zu schließen, sind von namhaften Druckerherstellern<br />
zusätzliche Ports für Windows Systeme ab Windows NT implementiert worden,<br />
zum Beispiel:<br />
� Hewlett Packard Network Port print monitor (Hpmon.dll),<br />
� Macintosh print monitor (Sfmmon.dll),<br />
� Digital Network Port print monitor (Decpsmon.dll),<br />
� LexMark Mark Vision print monitor (Lexmon.dll) und<br />
� NetWare Print Monitor (Nwmon.dll).<br />
Seite 286
Diese Ports ermöglichen im Gegensatz zu LPD/LPR in der Regel eine bidirektionale<br />
Kommunikation mit den Druckern oder Druckerboxen und damit unter anderem die Möglichkeit<br />
die Druckerwartung vom Endgeräte beziehungsweise vom Server aus vorzunehmen.<br />
Hierzu werden Programme von einem Server oder Endgerät ausgeführt, mit<br />
deren Hilfe Druckerstörungen, für die keine Vor-Ort-Tätigkeit erforderlich ist, zu beheben.<br />
Zu solchen durchführbaren Wartungsfunktionen zählen unter anderem:<br />
� Reinigung von Druckdüsen bei Tintenstrahldruckern<br />
� Reinigung der Papierführung<br />
� Ausrichtung von Druckköpfen<br />
� Rücksetzung von Fehlermeldungen<br />
� Auslesen von Verbrauchsdaten, zum Beispiel Anzahl gedruckter Seiten<br />
� Update der Systemsoftware im Drucker<br />
Weiterhin sind diese Ports sind gegenüber dem LPR-Port in der Lage, auch noch andere<br />
Transportprotokolle zu nutzen, wie:<br />
� DLC (Data Link Control),<br />
� IPX (Internetwork Packet eXchange) und<br />
� AppleTalk.<br />
Diese von den Herstellern zur Verfügung gestellten, proprietären Softwareprodukte beseitigen<br />
jedoch nicht das Problem der fehlenden Verschlüsselung beim Drucken unter<br />
Windows.<br />
1.4.5 Werkzeuge<br />
Die Administrationswerkzeuge von Print-Servern unter Windows beschränken sich auf<br />
die Verwaltung der Druckerfreigaben und der Druckertreiber.<br />
Darüber hinaus bestehen aber auch die Möglichkeit der Nutzung der unter XII.F 1.1.1.10 X<br />
aufgeführten unabhängigen und flexiblen Möglichkeiten, sofern die verwendeten Drucker<br />
diese unterstützen.<br />
Weiterhin werden von vielen Druckerherstellern oder Anbietern von Systemmanagementsoftware<br />
proprietäre Softwarelösungen zum Management der Geräte angeboten.<br />
Die folgende Auflistung liefert einige Beispiele an Software von Druckerherstellern und<br />
anderen Verwaltungs- und Überwachungsmöglichkeiten:<br />
� MarkVision von LexMark.<br />
� JetAdmin von HP - HP Laserdrucker können auch per telnet administriert werden,<br />
was aber wegen der fehlenden Verschlüsselungsmöglichkeit nur im Notfall<br />
benutzt werden sollte.<br />
� Viele Hersteller bieten auch ein Web-Interface über http oder https für die<br />
Administration an.<br />
� SMTP zum Versand von Störmeldungen an eine zentrale Managementkonsole<br />
wird auch von den meisten Herstellern unterstützt.<br />
Seite 287
Ähnlich wie bei Netzlaufwerken ist die automatische Verbindung zu Druckern beim Login<br />
des Anwenders gewünscht. Dies kann bei Windows 9x Clients entweder via VB-Script<br />
oder Tools wie con2prt.exe realisiert werden. Das Setzen von Berechtigungen auf Druckerfreigaben<br />
per logon Skript oder Benutzerprofile ist nicht möglich.<br />
Hinsichtlich der Vergabe von Berechtigungen auf Druckerfreigaben sind Skriptprogramme<br />
(Perl) denkbar.<br />
Ab Windows NT4 WS oder höher können die Druckfreigaben entweder per Logonscript<br />
oder über (servergestützte) Benutzerprofile beim Starten von Windows zur Verfügung<br />
gestellt werden.<br />
1.4.6 Zugriffssteuerung<br />
Die Zugriffssteuerung auf die von Print-Servern bereitgestellten Netzwerkdrucker (Freigaben)<br />
wird von diesen geregelt, sofern dies nicht über einen Verzeichnisdienst gesteuert<br />
wird. Die Rechte auf die Freigabe sind begrenzt auf die Stufen:<br />
� Drucken,<br />
� Drucker verwalten und<br />
� Dokumente verwalten.<br />
Eine Authentifizierung von Windows Clients beziehungsweise Anwendern ist unter<br />
Windows Server 2003 R2 möglich. Hierzu muss das SMB/CIFS Protokoll deaktiviert<br />
223<br />
sein.F<br />
F Hierdurch wird jedoch die Verwaltung der Print-Server durch die Administratoren<br />
erschwert, da dann nicht mehr alle Zugriffsmöglichkeiten über das Netzwerk auf den<br />
Printserver gegeben sind.<br />
Für Druckdienste sieht Microsoft im Standard keine Verschlüsselungsmechanismen vor.<br />
Allerdings bietet die .NET Umgebung Verschlüsselungsmechanismen an, die auch zur<br />
Verschlüsselung im Bereich von Netzwerkdruckern angewendet werden können. Hierzu<br />
ist es notwendig eine .NET Umgebung aufzubauen, das heißt, diese entsprechend auf<br />
224<br />
den Microsoft Servern und den Clients zu installieren. F<br />
F<br />
1.4.7 Schnittstellen<br />
Bei der Anbindung von Druckern sind die logischen und die physikalischen Schnittstellen<br />
zu betrachten. Die logischen Schnittstellen bilden die Druckertreiber. Physikalische<br />
Schnittstellen werden genutzt, um Drucker mit anderen Geräten zu verbinden. Dies sind<br />
zum einen Schnittstellen für die direkte Verbindungen zwischen Drucker und PC, zum<br />
Beispiel serielle, parallele Schnittstelle oder USB, und zum anderen Schnittstellen für die<br />
Verbindung zu einem Netzwerk, zum Beispiel Ethernet oder WLAN.<br />
Die Methoden, die Microsoft Windows zum Drucken anbietet, sind in einer homogenen<br />
Microsoftlandschaft gut auf einander abgestimmt.<br />
223 http://www.microsoft.com/germany/technet/sicherheit/prodtech/windowsserver2003/<br />
w2003hg/s3sgch08.mspx<br />
224 http://www.microsoft.com/germany/msdn/library/security/<br />
SymmetrischeUndAsymmetrischeVerschluesselung.mspx?mfr=true<br />
Seite 288
Setzt man die Microsoft Printserver in einer heterogenen Landschaft zur Verwaltung von<br />
zentralen Druckdiensten ein, benötigt man weitere Systeme, wie zum Beispiel einen<br />
Samba Server.<br />
1.4.8 Fazit<br />
Die unter Windows implementierten Methoden zum Drucken funktionieren zuverlässig<br />
mit allen gängigen Druckern. Alle namhaften Druckerhersteller stellen Werkzeuge und<br />
Druckertreiber für Windows zur Verfügung, mit denen sich die Drucker administrieren<br />
lassen. Allerdings gibt es kein allgemein gültiges Administrationswerkzeug unter Windows,<br />
sodass die Anzahl der zu installierenden Software für Druckeradministration mit<br />
der Anzahl der unterschiedlichen Drucker beziehungsweise Druckerhersteller und damit<br />
der Administrationsaufwand zunimmt. Dem gegenüber stehen professionelle Drucker<br />
(überwiegend PostScript-Drucker), welche das Management und die Überwachung über<br />
Standardbrowser (HTTPS) und andere Standardprotokolle, wie SMTP oder SNMP, unterstützen<br />
und damit eine einfache und kosteneffiziente Administration komplexer Netze<br />
ermöglichen.<br />
Bezüglich der „Point & Print―-Methode, wie sie im Abschnitt XII.F 1.4.3 dargestellt wird ist<br />
anzumerken, dass beim Einsatz von PostScript-Druckern, wie im professionellen Umfeld<br />
üblich, diese Vorgehensweise doch problematisch zu sein scheint. Die Komplexität der<br />
„Point & Print―-Methode bringt zum einen keinen Mehrwert, schafft es aber, den Clients<br />
die volle Funktionalität des Druckers vorzuenthalten, wenn der Server mit Samba läuft.<br />
Durch die „Verteilung― der Treiberfunktionen erreicht es Microsoft, dass die volle Funktionalität<br />
auch an die eigene Plattform gebunden bleibt. Bei der Verwendung von „Point<br />
& Print― in Verbindung mit Samba sind die Zusatzfunktionen je nach Druckerhersteller<br />
stark (z.B. HP) bis nur minimal (z.B. Konica-Minolta) eingeschränkt. Hierauf sollte bei der<br />
Auswahl der Drucker geachtet werden. Es treten vergleichbare Effekte auf, wie sie im<br />
folgenden Knowledgebase-Artikel beschrieben werden: http://support.microsoft.com/kb/-<br />
884897/de.<br />
2 Migrationspfade<br />
Einleitend sollen einige allgemein gültige Punkte erwähnt werden, die bei einer Migration<br />
der Druckdienste zu beachten sind beziehungsweise Gültigkeit besitzen.<br />
Die Ablösung einer Druckumgebung kann in der Regel ohne große Beeinträchtigungen<br />
des Betriebs erfolgen, da die neue Druckumgebung parallel zu der bestehenden Druckumgebung<br />
aufgebaut und in Betrieb genommen werden kann. In der Regel beschränkt<br />
sich dieser Neuaufbau auf die Implementierung des Druckservers. Clients und Drucker<br />
können im Normalfall übernommen werden. Es kann jedoch vorkommen, dass insbesondere<br />
für ältere Drucker keine Druckertreiber für die neue Druckumgebung zur Verfügung<br />
stehen. In einem solchen Fall muss entweder auf allgemeingültige Druckertreiber<br />
zurückgegriffen werden, wobei evtl. bestimmte druckerspezifische Funktionen nicht mehr<br />
nutzbar sind, oder aber die älteren Geräte müssen ausgetauscht werden. Weiterhin<br />
müssen gegebenenfalls die Druckwarteschlangen auf den Clients neu eingerichtet werden.<br />
Dies kann automatisiert über Login Scripte oder Benutzerprofile erfolgen.<br />
In Bezug auf die möglicherweise notwendige Anpassung der Warteschlangen auf Linux-<br />
Arbeitsplatzrechnern muss auf jeden Fall deutlich zwischen Linux und Windows differen-<br />
Seite 289
ziert werden: Bei Linux sind der Regel keine Anpassungen erforderlich. Unter Windows<br />
geht das über logon-Skripte bei der nächsten Anmeldung.<br />
Insgesamt wird eine Migration von Druckdiensten auf eine neue Plattform nicht unbedingt<br />
ein genaues 1:1-Abbild der bestehenden Verhältnisse wiedergeben können. Eine<br />
Migration sollte jedoch als Chance wahrgenommen werden, bestehende Schwachstellen<br />
zu beheben.<br />
Eine Migration von einer in die andere Systemlandschaft ist deutlich einfacher, wenn die<br />
im Einsatz befindlichen Drucker folgende Merkmale haben:<br />
� PostScript-fähig<br />
� Administration über Standardbrowser per HTTPS<br />
� Versand von Störungsmeldungen per E-Mail, vorzugsweise in einem automatisiert<br />
verarbeitbaren Format (zum Beispiel XML)<br />
� Die Treiber für Windows müssen so aufgebaut sein, dass alle Optionen auch<br />
über Samba verfügbar sind (wie zum Beispiel bei Konica/Minolta, nicht bei HP)<br />
� Sie sollen IPP mit SSL/TLS-Verschlüsselung unterstützen<br />
2.1 Migration von Windows Print Services nach CUPS in Kombination mit<br />
Samba unter Linux<br />
Eine mögliche Motivation zur Migration der Windows Druckdienste nach CUPS kann<br />
darin bestehen, dass ältere Geräte, die auf Grund ihrer spezifischen Druckeigenschaften<br />
benötigt werden, von neueren Windows-Betriebssystemen nicht mehr beziehungsweise<br />
nur unzureichend unterstützt werden, weil die Hersteller keine Druckertreiber mehr zur<br />
Verfügung stellen. In diesem Fall kann über CUPS und den Einsatz von PostScript-<br />
Dateien auch auf Druckern gedruckt werden, die kein PostScript unterstützen, da hier<br />
der CUPS Server diese PostScript-Datei entsprechend umwandelt. Weiterhin können die<br />
sogenannten PPD-Dateien verwendet werden, so wie dies im Kapitel XII.F 1.1.2.2 X beschrieben<br />
ist. Diese werden von fast allen Herstellern angeboten.<br />
Da CUPS auf TCP/IP aufsetzt, kann mit einer Migration zu CUPS auch die Schaffung<br />
einer homogenen, rein TCP/IP basierten IT-Infrastruktur unterstützt werden. Dazu sollte<br />
jedoch sicherstellt werden, dass keine Endgeräte das WINS Protokoll nutzen, um mit<br />
Druckservern zu kommunizieren. Gegebenenfalls ist es sinnvoll, solche Endgeräte<br />
auszutauschen beziehungsweise umzukonfigurieren, sofern dies möglich ist. In einigen<br />
Fällen wie zum Beispiel bei Windows 95 und 98 lässt sich dies nicht vermeiden. In<br />
diesen Fällen ist zu überlegen, ob ein Austausch dieser Geräte beziehungsweise ein<br />
Wechsel des Betriebssystems sinnvoll und machbar ist. Kann aufgrund von anderen<br />
Abhängigkeiten nicht auf den WINS Dienst verzichtet werden, erfordert die Umstellung<br />
der Druckdienste von Windows nach CUPS den Aufbau und die Nutzung eines Samba<br />
Servers. Mit dessen Hilfe kann dann die Kommunikation mit dem CUPS Server<br />
sichergestellt werden.<br />
Wird WINS jedoch nicht benötigt, kann die Verbindung direkt über TCP/IP hergestellt<br />
werden, wobei die IP-Adresse bei der Einrichtung eines entsprechenden Ports auf Win-<br />
Seite 290
dowsrechnern benötigt wird. Um eine Auflösung der Druckernamen zu ermöglichen, wird<br />
für die Windowsrechner dann doch wieder der Einsatz von Samba benötigt.<br />
Die Einführung von CUPS selbst erfordert die Implementierung mindestens eines Rechners<br />
im Netzwerk, der als CUPS Server fungiert. In Abhängigkeit von der Größe der<br />
Druckumgebung sollte dieses Gerät ein eigenständiger Server sein, also keine weiteren<br />
Funktionen übernehmen. Darüber hinaus kann, je nach Verfügbarkeitsanforderung, auch<br />
eine ausfallsichere Lösung mit mehreren Servern aufgebaut werden.<br />
2.2 Migration von CUPS in Kombination mit Samba unter Linux nach Windows<br />
Print Services<br />
Die in der Einleitung beschriebenen Sachverhalte haben auch bei der Migration einer<br />
Druckumgebung von CUPS nach Windows ihre Gültigkeit. Allerdings muss bei einem<br />
Migrationspfad, wie er hier betrachtet wird, besonders genau darauf geachtet werden,<br />
dass alle Geräte, die in die neue Drucklandschaft eingebunden werden, auch mit den<br />
Microsoft-Druckservern kommunizieren können. Dies gilt sowohl für die Drucker als auch<br />
für die im Netzwerk vorhanden Clients. Insbesondere bei älteren Druckern, die nicht<br />
mehr vom Hersteller unterstützt werden, kann eine Migration zu Problemen führen. Dies<br />
ist zum Beispiel der Fall, wenn kein Gerätetreiber für Windows für das entsprechende<br />
Gerät verfügbar ist.<br />
2.3 Migration von Windows NT4/2000 Print Services nach Windows 2003 Print<br />
Services<br />
Für eine Migration von NT4 auf Server2000 / Server 2003 wird von MS ein Migrationstool<br />
PrintMig angeboten. Dieses unterstützt die Portierung aller Druckwarteschlangen,<br />
Druckernamen und sofern vorhanden, auch Treiber. Dabei ist darauf zu achten, dass ein<br />
zukunftsfähiges Konzept entwickelt wird, das die Verwendung von NT4 Treibern in der<br />
neuen Umgebung ausschließt.<br />
Die aktuelle <strong>Version</strong> des Migrationstools ist PrintMig <strong>Version</strong> 3.1.<br />
3 Bezüge<br />
3.1 Systemmanagement und -überwachung<br />
Der wichtigste Bezug besteht zum Themenblock des Systemmanagements und der Systemüberwachung<br />
(Kapitel II.G „Thema System-Überwachungs- und -Management-<br />
Dienste―). Hier sind es vor allem die Bordmittel, die mit den Betriebssystemen zur Verfügung<br />
gestellt werden (siehe Einleitung der Technologiebetrachtung zum Kapitel II.G<br />
„Thema System-Überwachungs- und -Management-Dienste―).<br />
Weiterhin sind es die großen integrierten Lösungen der Anbieter wie HP und IBM, die<br />
auch für die Überwachung und das Management der Druckerinfrastruktur entsprechende<br />
Lösungen liefern (siehe Kapitel II.G.1.3 „HP OpenView― und II.G.1.4 „IBM Tivoli―)<br />
Als Open Source Werkzeug für das Systemmonitoring spielen auch die Möglichkeiten<br />
und Funktionen von Nagios eine wichtige Rolle (siehe Kapitel II.G.1.1.1 „System-<br />
Monitoring mit Nagios―)<br />
Seite 291
3.2 Authentifizierung und Verzeichnisdienste<br />
Ein ebenso wichtiger Bezug besteht mit Blick auf das Thema Sicherheit zu den Authentisierungs-<br />
und Verzeichnisdiensten. Hier sind es vor allem die Möglichkeiten im Zusammenhang<br />
mit Samba in gemischten Umgebungen (siehe Kapitel II.C.1.1 „Linux und<br />
Samba mit OpenLDAP und Kerberos (MIT/Heimdal)―) und Kerberos (siehe Kapitel II.C<br />
1.1 und insbesondere II.C.1.1.3 „Heimdal-Kerberos /MIT Kerberos 5― sowie II.C.1.4.1<br />
„Kerberos―) sowohl unter Windows als auch unter Linux und vor allem wenn es darum<br />
geht Single Sign-On Lösungen zu schaffen.<br />
3.3 Netzwerkdienste<br />
Der Bezug zu den Netzwerkdiensten (siehe Abschnitt II.D „Thema Netzwerkdienste―)<br />
ergibt sich aus den Sicherheitsanforderungen bezüglich der Kommunikation mit den<br />
Druckern über das Netz. Hier sind es vor allem die verschiedenen Möglichkeiten der<br />
Verschlüsselung von Kommunikationsverbindungen.<br />
Seite 292
G Thema System-Überwachungs- und -Management-Dienste<br />
1 Produkte / Technologien<br />
Systemüberwachungs- und Systemmanagementdienstprogramme stellen Funktionen<br />
zur Verfügung, die das Administrieren, Pflegen und Entstören von Endgeräten vereinfachen.<br />
Unter einem Endgerät wird jedes Gerät verstanden, das mit einem Netzwerk verbunden<br />
ist. Zum Systemmanagement gehören im Wesentlichen folgende Funktionen:<br />
� Bereitstellung von Applikationssoftware (Softwareverteilung)<br />
� Bereitstellung von Betriebssystemen und Betriebssystempatches<br />
� Überwachung von Systemen und deren Status (auch agentenlos)<br />
� Berichte erstellen<br />
� Fernsteuerung von Systemen<br />
Die meisten Unixbetriebssysteme bieten schon als Bordmittel eine Reihe von einfachen<br />
Werkzeugen, mit denen man, wenn man sie geschickt einsetzt, sehr komplexe Aufgaben<br />
erledigen kann. Die meisten der nachfolgend aufgeführten Werkzeuge gibt es als Bordmittel<br />
auch unter Windows oder es gibt entsprechende frei verfügbare Tools, wie zum<br />
Beispiel die SSH-Implementierung „PuTTY― oder andere, die auf der folgenden Webseite<br />
vorgestellt werden (http://www.openssh.org/de/windows.html).<br />
� cron<br />
� at<br />
sss Cronist ein sogenannter Dämon und wird über den crontab Befehl gesteuert.<br />
Dieser Dämon dient dazu, zeitlich immer wiederkehrende Aufgaben vom System<br />
automatisch ausführen zu lassen. Diese Aufgabe können Batchjobs, ausführbare<br />
Programme, ausführbare Skriptdateien und so weiter sein. Crontab ist nicht nur<br />
der Befehl, mit dem der cron Dämon gesteuert werden kann, sondern bezeichnet<br />
auch gleichzeitig die Liste von Aufgaben, die durch den cron Dämon gestartet<br />
werden sollen. In dieser Liste sind sowohl die Aufgaben als auch der Ausführungszeitpunkt<br />
hinterlegt. Der cron Dämon prüft diese Liste alle 60 Sekunden ab,<br />
ob es eine auszuführende Aufgabe gibt und führt diese dann entsprechend aus.<br />
In den unterschiedlichen Linux Distributionen ist der cron Dämon auch unterschiedlich<br />
implementiert. Die Unterschiede liegen vor allem in den Möglichkeiten,<br />
den Aufgaben Parameter zuzuweisen. Die meisten Linux-Distributionen enthalten<br />
gegenwärtig Vixie-cron.<br />
Der at Befehl dient ähnlich wie der cron Dämon zur zeitlichen Steuerung von<br />
Aufgaben. Der at Befehl wird verwendet um eine Aufgabe, die genau einmal ausgeführt<br />
wird, mit einem Zeitstempel zu versehen. Diese Aufgabe wird anhand<br />
dieses Zeitstempels vom System zu diesem Zeitpunkt ausgeführt. Jede Aufgabe<br />
muss jeweils mit einem neuen at Befehl dem System bekannt gemacht werden.<br />
Im Umfeld des at Befehls sind noch zwei weitere Befehle definiert, die zur zeitlichen<br />
Steuerung von Aufgaben dienen. Der atq-Befehl zeigt alle mit dem at-Befehl<br />
Seite 293
eingerichteten Aufgaben und sortiert diese nach dem Benutzer, der sie eingestellt<br />
hat. Der atrm-Befehl löscht die Aufgaben anhand ihrer vom System eindeutig<br />
vergebenen Nummer.<br />
� Ssh<br />
ssh (secure shell) steht sowohl für den Namen des Protokolls als auch für die<br />
Implementation eines secure shell Clients. Bei Linux ist dieser fest im Linux<br />
implementiert. ssh dient dazu, eine sichere Verbindung zwischen zwei Rechnern<br />
beziehungsweise Benutzern herzustellen. So wird zum Beispiel eine Konsole an<br />
einem Linux Rechner auch als Benutzer angesehen und alle Befehle, die an<br />
dieser Konsole abgesetzt werden, werden in dem ssh Client abgesetzt, der den<br />
Befehl entsprechend ans System weiterleitet. Über eine ssh Verbindung kann<br />
jeder Linux Rechner administriert, verwalten und überwacht werden, sofern die<br />
entsprechenden Berechtigungen vorliegen. Da SSH1 auch weiterhin anfällig für<br />
„man-in-the-middle― Angriffe ist, sollte immer SSH2 verwendet werden. Die SSH2<br />
Shell steht auch übergreifend anderen auf Unix basierenden Betriebssystemen<br />
zur Verfügung.<br />
� SNMP<br />
Das Netzwerkprotokoll Simple Network Management Protocol (SNMP) wurde von<br />
der IETF entwickelt, um aktive Netzwerkkomponenten (zum Beispiel Router, Server,<br />
Switches, Drucker, Computer usw.) überwachen und steuern zu können.<br />
Durch das Protokoll wird die Kommunikation zwischen den überwachten Geräten<br />
und einer Überwachungsstation geregelt. SNMP wurde so ausgelegt, dass jedes<br />
netzwerkfähige Gerät, bei dem das TCP/IP Protokoll aktiviert ist, überwacht werden<br />
kann.<br />
Die aktuelle <strong>Version</strong> ist SNMPv3. Diese ist in den RFCs 3410 ff. beschrieben und<br />
bietet im Gegensatz zu seinen Vorgängern auch Sicherheitsmechanismen an.<br />
Diese sind Verschlüsselung und eine verbesserte Authentifizierung. Eine ausführliche<br />
Beschreibung kann man auf der Web Seite des BSI 225 finden.<br />
Viele Systemhersteller haben in ihren Produkten zur Unterstützung der Systemüberwachung<br />
die Übermittlung sogenannter „snmp-Traps― implementiert. In der<br />
Regel sind diese Traps auch dokumentiert, sodass sie mit Hilfe der Systemüberwachung<br />
ausgewertet werden können.<br />
Auf das Monitoring und die Analyse von Netzwerktraffic ist MRTG/RRD spezialisiert.<br />
MRTG nutzt SNMP, um Verkehrsdaten von den verschiedensten Netzwerkkomponenten<br />
zu sammeln und zu speichern. Die Auswertung und grafische Aufbereitung<br />
kann entweder intern durch MRTG oder extern durch RRD erfolgen.<br />
Für MRTG stehen über 350 Templates zur direkten Anbindung verschiedenster<br />
SNMP-fähiger Netzwerkkomponenten und -dienste zur Verfügung.<br />
Ein weiteres Tool zur Trafficanalyse und -visualisierung ist NeTraMet das ebenfalls<br />
mit SNMP arbeitet.<br />
225 http://www.bsi.de/gshb/deutsch/m/m02144.htm<br />
Seite 294
Scotty ist ein weiteres Tool für Visualisierung und Management von lokalen Netzen,<br />
das ebenfalls mit SNMP arbeitet und auch die Änderung von SNMPzugänglichen<br />
Parametern auf den entfernten Netzkomponenten erlaubt.<br />
� Ping<br />
Der Ping-Befehl ist Standard bei allen Unix Distributionen und bei Windows.<br />
Dieser Befehl schickt ein Datenpaket an eine Zieladresse. Dies kann eine IP-<br />
Adresse oder ein DNS Name sein. Ist das Zielgerät eingeschaltet und mit dem<br />
Netzwerk verbunden, schickt dieses System ein Datenpaket an den Absender<br />
zurück, der dies registriert. Hierbei wird auch die Zeit des Datentransfers<br />
gemessen. Mit dem Ping-Befehl können somit auf einfache Weise der Verbindungsstatus<br />
eines an einem Netzwerk angeschlossenen Gerät festgestellt und in<br />
geringem Maße auch Netzwerkleistungsmessungen durchgeführt werden. In<br />
vielen Fällen wird Ping zur agentenlosen Überwachung von Systemen genutzt.<br />
� syslog<br />
syslog ist ein De-facto-Standard zur Übermittlung von Log-Meldungen. Der Begriff<br />
wird in mehreren Varianten genutzt, zum einen als Bezeichnung des syslog-<br />
Netzwerkprotokoll, zum anderen für die Anwendungen oder Bibliotheken, die syslog-Meldungen<br />
senden oder empfangen.<br />
syslog ist ein einfaches Client Server Protokoll, bei dem der Client kleine Datenpakete<br />
an den Server verschickt.<br />
Typischerweise wird syslog für Computersystem-Management und Sicherheits-<br />
Überwachung eingesetzt.<br />
1.1 Systemmanagement mit OSS – Nagios, u.a., Linux<br />
In der OSS Welt gibt es keine hoch integrierte Systemmanagementsoftware vergleichbar<br />
mit HPOpenView oder Tivoli Konfiguration Manager, die alle Belange des Systemmanagements<br />
über ein großes Paket entsprechender Module abdeckt. Es gibt jedoch zahlreiche<br />
Tools, die im Wettbewerb mit vergleichbaren Modulen integrierter Systeme bestehen<br />
und die entsprechenden Aufgaben des Systemmanagements gut abdecken. Diese<br />
Tools, sogenannte Bordmittel, können mit einander kombiniert werden, sodass auch in<br />
der OSS Welt ein leistungsstarkes und vor allem kostengünstiges Systemmanagement<br />
aufgebaut werden kann. Einzelne Linux Distributionen bieten unterschiedliche Funktionen<br />
für Systemmanagement. Zum Beispiel liefert Debian seine Softwareverteilung gleich<br />
mit, in welche allerdings nur Debian basierte Rechner integriert werden können.<br />
1.1.1 System-Monitoring mit Nagios<br />
Nagios wurde für den Betrieb unter Linux entwickelt, kann jedoch auch unter fast allen<br />
anderen Unix Distributionen angewandt werden. Die aktuelle <strong>Version</strong> von Nagios ist die<br />
<strong>Version</strong> 2.9 226 . Die <strong>Version</strong> <strong>3.0</strong> liegt derzeit als Beta-<strong>Version</strong> <strong>3.0</strong>b1 vor. Der frühere Name<br />
von Nagios war NetSaint. Nagios und das Nagios-Logo sind eingetragene Warenzeichen<br />
von Ethan Galstad. Ethan Galstad ist der führende Entwickler für Nagios. Ausführ-<br />
226 Stand 01.11.2007<br />
Seite 295
liche Information sowie aktuelle Entwicklungen finden sich auf der Nagios Homepage 227 .<br />
Nagios wird unter der „GNU General Public License <strong>Version</strong> 2― von der „Free Software<br />
Foundation― veröffentlicht.<br />
Aktuell wird Nagios von ca. 2000 registrierten Benutzern verwendet, die ca. 350.000<br />
Clients damit überwachen 228 .<br />
Nagios ist ein Rechner- und Servicemonitor, der zur Erkennung von Störungen<br />
(unerwartetes Ereignis im Betrieb) und Problemen (häufig auftretende Störungen ohne<br />
bekannte Fehlerbehebung) entwickelt wurde. Darüber hinaus überwacht Nagios auch<br />
Drucker und aktive Netzwerkkomponenten. Der Überwachungsdämon führt in definierten<br />
zeitlichen Abständen Abfragen und Kontrollen an Rechnern und Diensten durch, die<br />
über externe „Plugins" eine Statusrückmeldung an Nagios geben. Beim Entdecken einer<br />
Störung kann der Dämon eine Meldung an definierte Stellen, zum Beispiel einen<br />
Administratoraccount über verschiedene Wege (email, instant message, SMS, etc.),<br />
schicken. Aktuelle Statusmeldungen, Logfiles und Berichte können über ein WEB<br />
Interface abgefragt werden. Nagios lässt sich auch in der Form konfigurieren, dass das<br />
System einen Versuch unternehmen kann, um einen aufgetretenen Fehler selbständig<br />
zu beheben, zum Beispiel durch einen Neustart eines Dienstes.<br />
Nagios ist auch auf die Visualisierung der Netztopologie und die Überwachung von<br />
Diensten auf Servern mit anderen Betriebssystemen spezialisiert. Anhand von definierbaren<br />
Schwellenwerten reagiert Nagios zum Beispiel auf gefundene Fehler oder eintretende<br />
Ereignisse.<br />
Nagios benutzt Plug-Ins zur aktiven oder passiven Überwachung verschiedenster<br />
Dienste und Systemparameter. So können zum Beispiel typische Netzwerkdienste wie<br />
Web, Mail, LDAP, verschiedene RDBMS oder Samba überwacht werden. Außerdem gibt<br />
es Plug-Ins für die Überwachung von Systemparametern wie CPU-Last, Festplattenplatz<br />
aber auch für die Daten der Hardwaresensoren (Temperatur, Stromversorgung und<br />
Lüfterdrehzahl). Einfache Schnittstellen und Templates erlauben die schnelle Entwicklung<br />
eigener Plug-Ins.<br />
Nagios bietet zahlreiche Funktionen und Eigenschaften zum Überwachen der IT-<br />
Infrastruktur, den IT-Diensten und zur Administration von Nagios selbst. Die wichtigsten<br />
Funktionen sind nachfolgend aufgelistet:<br />
� Überwachung von Netzwerkdiensten (SMTP, POP3, HTTP, NNTP, PING, etc.)<br />
� Überwachung von Rechnerkomponenten (Prozessorlast, Festplatten- und Speicherauslastung,<br />
laufende Prozesse, Logfiles, etc.) über smnp<br />
� Überwachung von physikalischen Eigenschaften, wie zum Beispiel Temperatur<br />
� Hinterlegung von Kontaktinformationen zur Meldung von Störungen und deren<br />
Behebung (via email, pager, oder über andere benutzerdefinierte Wege)<br />
227 http://www.nagios.org/<br />
228 http://www.nagios.org/userprofiles/quickstats.php<br />
Seite 296
� Benachrichtigung unterschiedlicher definierter Benutzergruppen im Eskalationsfall<br />
� Möglichkeit zur Definition von automatisierten Ereignismanagern, die auf ein<br />
Ereignis reagieren können, zum Beispiel Neustart eines Servers, wenn ein<br />
Serverdienst als gestört gemeldet wird<br />
� Nagios unterstützt den Aufbau mehrerer Nagioskonsolen, die die gleichen Überwachungsfunktionen<br />
haben. Damit lassen sich eine erhöhte Ausfallsicherheit und<br />
die Lastverteilung realisieren<br />
� Kommandozeilen Interface für schnelle Änderungen an den Überwachungsparametern<br />
und den Ereignismanagern<br />
� Beibehaltung von Statusmeldungen bei Neustarts des Programms<br />
� Hinterlegung von geplanten Betriebsunterbrechungen zum Beispiel für<br />
Wartungsarbeiten<br />
� Möglichkeit der Störungsmeldung auch per WEB Interface<br />
� WEB Interface zum Anzeigen von aktuellem Netzwerkstatus, von Meldungs- und<br />
Störungshistorie, Logfiles, etc.<br />
� Einfache Benutzerverwaltung<br />
Beispiele für die Benutzeroberfläche und eine Installationsanleitung finden sich auf der<br />
Website von Nagios 229 .<br />
Der Installations- und Einrichtungsaufwand für eine Standardinstallation kann als vergleichsweise<br />
gering angesehen werden 230 .<br />
Nagios ist zwar für Linux entwickelt worden, doch mit Nagios können auch heterogene<br />
Netzwerke überwacht werden, in denen zum Beispiel eine Mischung von Linux, Unix und<br />
Windows Systemen zum Einsatz kommt. Nagios bietet eine einfache Plug-In Architektur,<br />
die es erlaubt, auch eigene Plug-Ins zu entwickeln und in Nagios einzubinden<br />
1.1.2 Open Source Softwareverteilungssysteme<br />
1.1.2.1 Opsi<br />
Opsi ist ein Produkt der Firma uib 231 in Mainz und steht unter der GPL und ist somit frei<br />
verfügbar. Opsi unterstützt die Softwareverteilung auf Windows 2000, Windows XP und<br />
Linux Systemen. Seit über 9 Jahren wird opsi eingesetzt und weiterentwickelt. Opsi ist<br />
seit dem 06.09.2007 in der <strong>Version</strong> 3.1 freigegeben.<br />
229 http://www.nagios.org/about/screenshots.php,<br />
http://nagios.sourceforge.net/docs/3_0/quickstart.html<br />
230 Die Installationsanleitung kann unter folgendem Link im Internet eingesehen werden:<br />
http://nagios.sourceforge.net/docs/3_0/quickstart.html.<br />
231 http://www.uib.de/www/home/index.html<br />
Seite 297
Die Funktionalitäten von opsi umfassen die Softwareverteilung mit<br />
� Standard-Softwarepaketen,<br />
� Software-Updates,<br />
� Microsoft-Servicepacks,<br />
� Microsoft Security-Patches und<br />
� Inventarisierung.<br />
1.1.2.2 m23<br />
m23 232 ist ein Softwareverteilungssystem für Debian Gnu Linux Systeme, das genau wie<br />
Opsi unter der GPL steht. m23 ist nicht für heterogene Systemumgebungen geeignet,<br />
was aber in einer homogenen Debian-Umgebung kein Nachteil sein muss. m23 ist wie<br />
die meisten Softwareverteilungssysteme ein Client/Server basiertes System und beinhaltet<br />
Funktionalitäten wie<br />
� Erstinstallationen, inklusive Partitionierung und Hardwareerkennung,<br />
� Verteilung von System- und Anwendungssoftware,<br />
� Wiederherstellung von Clients,<br />
� Softwareupdates und<br />
� Inventarisierung (Hardwareerkennung).<br />
Damit deckt m23 die wesentlichen Funktionalitäten ab, die auch von den meisten proprietären<br />
Systemen bereitgestellt werden.<br />
1.1.3 Fazit<br />
Zusammenfassend gilt, dass es mit den in der OSS Welt kostenfreien Softwareprodukten<br />
möglich ist, eine komplexe und gut funktionierende System-Management-Umgebung<br />
aufzubauen. Die Kombination von unterschiedlichen Produkten führt zu einer weitgehenden<br />
Herstellerunabhängigkeit und gestaltet einen Wechsel von einer Software zur<br />
anderen kostenneutral in Bezug auf die Lizenzkosten. Auch die Kombination von einzelnen<br />
Funktionen aus dem Bereich kostenpflichtiger Software mit OSS Software erscheint<br />
durchaus sinnvoll. Zum Beispiel wird in vielen Organisationen HP OpenView als Netzwerkmanagementsystem<br />
verwendet. Dies kann weiter genutzt werden, um parallel eine<br />
Softwareverteilung mit einem OSS Werkzeug aufzubauen. Nagios als Monotoringwerkzeug<br />
und opsi als Werkzeug zur Softwareverteilung haben im Einsatz bewiesen, dass<br />
sie im Speziellen auch für große IT-Infrastruktur-Umgebungen gut einsetzbar sind.<br />
Für kleinere und mittlere Behörden sind die anderen OSS Werkzeuge und insbesondere<br />
die Bordwerkzeuge, die einleitend aufgeführt wurden, prinzipiell gut geeignet.<br />
Die OSS Werkzeuge bieten vor allem einen hohen Grad an Flexibilität und sind gut individuell<br />
anpassbar. Dies führt in der Regel zu einer hohen Akzeptanz der Lösung und zu<br />
232 http://m23.sourceforge.net/PostNuke-0.726/html/index.php<br />
Seite 298
einer höheren Motivation bei den Mitarbeitern, sich mit den Thema des Systemmanagements<br />
auseinander zu setzten.<br />
1.2 Microsoft Systems Management Server (SMS) 2.0/2003 und Microsoft<br />
Operations Manager (MOM)<br />
Nachfolgend werden die beiden Management Tools betrachtet:<br />
� Systems Management Server (SMS), für die Softwareverteilung<br />
� Microsoft Operations Manager (MOM), für Systemüberwachung und –<br />
management<br />
Der System Management Server (SMS) wurde zeitnah mit dem Erscheinen von Windows<br />
NT 4 auf den Markt gebracht. Als Endversion dieser Generation ist SMS in der<br />
<strong>Version</strong> 1.2 anzusehen. Im Jahr 1999 erschien die <strong>Version</strong> 2.0. Die aktuelle <strong>Version</strong> ist<br />
der SMS 2003 R2. Diese <strong>Version</strong> wird im Folgenden näher betrachtet. Seit Neuestem<br />
liegt SMS in der <strong>Version</strong> Microsoft System Center Configuration Manager (SCCM) 2007<br />
vor.<br />
Microsoft Operations Manager 2005 liegt seit kurzem in der <strong>Version</strong> System Centre<br />
Operations Manager (SCOM) 2007 vor. Zu SCCM 2007 und SCOM 2007 liegen bisher<br />
keine Erfahrungswerte vor, sodass diese <strong>Version</strong>en hier nicht weiter betrachtet werden.<br />
SMS und MOM sind kostenpflichtige Produkte der Firma Microsoft. Lizenziert wird die<br />
Server Software. Darüber hinaus wird für jeden Client, der eine Komponente des SMS<br />
oder MOM benötigt, eine Clientlizenz benötigt. Im Detail stellt sich dies wie folgt dar:<br />
Produkt Lizenzierung<br />
Microsoft Systems Management<br />
Server 2003<br />
Microsoft Systems Management<br />
Server 2003 Device CML (Configuration<br />
Management License) 1<br />
Microsoft Systems Management<br />
Server 2003 mit SQL Server 2000-<br />
Technologie<br />
Für jede erworbene Lizenz kann eine Kopie der Serversoftware<br />
auf einem einzigen Server installiert und<br />
genutzt werden.<br />
Erlaubt es einem Gerät (einem einzelnen Server,<br />
einem einzelnen Personal Computer, einer Workstation,<br />
einem Terminal, einem Handheld Computer,<br />
Pager, Telefon, Personal Digital Assistant oder anderem<br />
elektronischen Gerät), von Microsoft Systems<br />
Management Server 2003 verwaltet zu werden.<br />
Erlaubt es, eine Kopie von Microsoft Systems Management<br />
Server 2003 Software auf einem einzigen<br />
Server zu installieren, und erlaubt, eine Kopie der<br />
Serversoftware von Microsoft SQL Server 2000 auf<br />
einem einzigen Server zu installieren und zu verwenden.<br />
Die SQL Server-Software darf nur verwendet werden,<br />
um ihre Systems Management Server Primary Site<br />
Server und/oder Operations Manager als Teil Ihrer<br />
Systemverwaltungssoftware zu unterstützen.<br />
Tabelle 48: Lizensierung der Microsoft System-Management-Komponenten<br />
Seite 299
SMS und MOM sind eigenständige Softwareprodukte der Firma Microsoft. Sie sind in die<br />
Microsoft Landschaft integriert und benötigen zusätzliche Komponenten (zum Beispiel<br />
SQL Server und MS Server), um lauffähig zu sein. SMS und MOM können nicht als<br />
eigenständige Applikationen für andere Betriebssysteme, zum Beispiel Linux, erworben<br />
werden.<br />
SMS 2003 R2 kann in Großumgebungen mit über 250.000 Clients eingesetzt werden,<br />
wobei ein einzelner Server bis zu 25.000 Clients verwalten kann.<br />
Die in der Einleitung beschriebenen Grundfunktionen von System-Management-Systemen<br />
werden mit SMS und MOM vollständig abgedeckt. Die Funktionen werden nicht<br />
als eigenständige Module vertrieben, das heißt, die Funktionen sind in die SMS und<br />
MOM Software eingebunden.<br />
Der SMS / MOM Client kann auf folgenden Betriebssystemen installiert werden:<br />
� Microsoft Windows 98<br />
� Windows NT® Workstation 4.0<br />
� Windows NT Server 4.0<br />
� Windows NT Server 4.0 Enterprise Edition mit Service Pack 6 oder höher<br />
� Windows 2000 Professional<br />
� Windows 2000 Server<br />
� Windows 2000 Advanced Server<br />
� Windows 2000 Datacenter Server<br />
� Windows XP Professional<br />
� Windows XP Embedded mit Service Pack 1 oder höher<br />
� Windows Server 2003 Standard Edition<br />
� Windows Server 2003 Enterprise Edition<br />
� Windows Server 2003 Datacenter Edition<br />
Das im <strong>Migrationsleitfaden</strong> V2.1 beschriebene Add-On namens Vintela Management<br />
Extensions (VMX), mit dessen Hilfe auch Linux-, Unix- und Mac-Systeme (OS X) unterstützt<br />
werden können, wird in dieser Art nicht mehr angeboten. Für SMS 2003 gibt es ein<br />
lizenzpflichtiges Add-On mit dem Namen Quest 233 Management Xtensions for SMS 2003<br />
der Firma Quest Software, das die oben genannte Unterstützung anbietet.<br />
Das Add-On unterstützt im Standard folgende Funktionen:<br />
� Softwarepatchverteilung<br />
� Softwareverteilung<br />
� Inventarisierung (Hardware und Software)<br />
� Softwaremessungen<br />
233 http://www.quest.com/<br />
Seite 300
� Entdecken von Systemen<br />
� Remote Werkzeuge<br />
� Reporting<br />
Damit eignet sich SMS in der Kombination mit Quest Management Xtensions für SMS<br />
2003 durchaus auch für den Einsatz in heterogenen Systemlandschaften.<br />
Für den Betrieb einer MOM 2005 Umgebung müssen folgende Komponenten auf einem<br />
oder mehreren Servern installiert werden:<br />
� Microsoft Operations Manager 2005-Managementserver<br />
� Microsoft Operations Manager 2005-Datenbank<br />
� Microsoft Operations Manager 2005-Administratorkonsole und die<br />
Operatorkonsole<br />
� Microsoft Operations Manager 2005-Reportingserver<br />
Die minimalen Hardwareanforderungen und weiteren Empfehlungen zur Installation<br />
dieser Umgebung können auf der Microsoft-Homepage nachgeschlagen werden. 234<br />
Mit MOM 2005 können zahlreiche Systeme überwacht werden. Welche Konfigurationen<br />
unterstützt werden, kann auf der Webseite 235 „Unterstützte Konfigurationen für Microsoft<br />
Operations Manager 2005― von Microsoft nachgeschlagen werden 236 :<br />
Über weitere Management Packs, die von Microsoft und Drittherstellern erhältlich sind,<br />
kann die Überwachung auf viele andere Systeme (nicht nur Betriebssysteme, sondern<br />
zum Beispiel auch Storagesysteme oder aktive Netzwerkkomponenten) ausgeweitet<br />
werden. Eine Liste mit über 200 Management Packs von Microsoft und Drittherstellern<br />
mit Beschreibung des Management Packs und Quellenangabe des Herstellers ist bei<br />
Microsoft aufgelistet. 237<br />
Einige sind hier aufgeführt:<br />
� Exchange 5.5/2000/2003<br />
� SQL Server 2000 / 2005<br />
� Windows DHCP Server Service 200 / 2003I<br />
� Commerce Server 2007<br />
� Windows Print Server 2000 / 2003<br />
� Windows Terminal Services 2000 / 2003<br />
� Proxy Server 2.0<br />
� Windows DNS Server Service 2000 / 2003<br />
� Windows Internet Information Server 2000/ 2003<br />
234 http://www.microsoft.com/germany/mom/uebersicht/systemanforderungen.mspx<br />
235 http://www.microsoft.com/germany/technet/datenbank/articles/600585.mspx#EEC<br />
236 http://www.microsoft.com/germany/technet/datenbank/articles/600585.mspx#EEC<br />
237 http://www.microsoft.com/technet/prodtechnol/mom/catalog/catalog.aspx?vs=2005<br />
Seite 301
� Windows Active Directory 2000 / 2003<br />
� SMP for Linux Server<br />
� Virtual Agent for: Mandrake Linux, Open BSD, Red Hat Linux, Sun Solaris, SuSe<br />
Linux<br />
� SMP – Cisco für: Switches, Router und Concentrators<br />
Wie auch für SMS 2003 R2 gibt es für MOM 2005 ein lizenzpflichtiges Add On mit dem<br />
Namen Quest Management Xtensions for MOM der Firma Quest Software, das die<br />
Funktionen von MOM zur Überwachung der Betriebssysteme AIX, Solaris, HP-UX, RED<br />
HAT und Suse erweitert.<br />
Das Add-On unterstützt folgende Funktionen:<br />
� Reporting<br />
� Ereignis- und Leistungsmanagement<br />
� Applikation Monitoring<br />
SMS und MOM bieten, wie beschrieben, umfangreiche Möglichkeiten, um Schnittstellen<br />
von Drittanbietern einzubinden. Weiter sind die Produkte komplett in die Microsoft Welt<br />
eingebunden und arbeiten mit allen Microsoft Produkten zusammen.<br />
Somit lässt sich zusammenfassend festhalten, dass die Kombination von SMS und MOM<br />
in einer homogenen Microsoftlandschaft durch die Integration in die MS Landschaft eine<br />
gute Lösung für die Verwaltung von Computerressourcen ist. Darüber hinaus besteht die<br />
Möglichkeit, Geräte wie zum Beispiel PDAs in SMS oder MOM einzubinden und diese<br />
mit Software zu versorgen oder zu überwachen. Dies ist in der Regel leicht realisierbar.<br />
1.3 HP OpenView<br />
HP bietet unter dem Namen OpenView eine Produktfamilie an, die in ihrer Funktionalität<br />
weit umfangreicher ist, als die Funktionen des System-Management(systems). Entstanden<br />
ist HP OpenView aus dem HP OpenView Node Manager 238 . Dieses Programm wurde<br />
früher nur zur Überwachung und Administration von Netzwerken genutzt.<br />
HP OpenView ist kostenpflichtig und kann über HP oder seine Vertriebspartner bezogen<br />
werden.<br />
OpenView wird in zwei <strong>Version</strong>en angeboten. Die eine <strong>Version</strong> ist der Management Server,<br />
die zweite ist eine Java Implementation der Management Server genannten Java<br />
Konsole.<br />
Der Management Server kann auf folgenden Betriebssystemen installiert werden:<br />
� HP-UX (PA-RISC, Itanium)<br />
� Solaris (SPARC)<br />
238 https://h10078.www1.hp.com/cda/hpms/display/main/hpms_content.jsp?zn=bto&cp=1-11-<br />
15-119^1155_4000_100_<br />
Seite 302
Bei beiden Installationen ist der Einsatz einer Oracle Datenbank notwendig.<br />
Die Java Konsole kann laut Herstellerangaben auf nachfolgend genannten Betriebssystemen<br />
installiert werden, wobei hier immer eine Java Runtime Umgebung installiert werden<br />
muss:<br />
� HP-UX<br />
� Sun Solaris<br />
� Microsoft Windows<br />
� Red Hat Linux<br />
Auch HP OpenView enthält Module für Storage- und Prozess-Management. Die HP<br />
OpenView Module können einzeln verwendet und entsprechend kombiniert werden.<br />
Somit können mit HP OpenView alle Anforderungen an eine System-Managementsoftware<br />
abgedeckt werden.<br />
Folgende Client Betriebssysteme werden u.a. durch OpenView unterstützt:<br />
� HP-UX, Sun Solaris<br />
� Microsoft Windows<br />
� IBM AIX<br />
� Tru64 UNIX<br />
� Red Hat Linux<br />
� SuSE Linux<br />
� Turbo Linux<br />
� Debian Linux<br />
� Novell Netware<br />
� OpenVMS<br />
� HTTPS-based agents<br />
� HP NonStop Servers<br />
� IBM OS/390<br />
� z/OS<br />
� IBM OS/400<br />
HP OpenView bietet für alle gängigen Systeme Module und Erweiterungen für System-<br />
Management-Funktionen an. Auf Grund der Historie von HP OpenView als verbreitetes<br />
Werkzeug für Netzwerkmanagement wird HP-OpenView in vielen Organisationen inzwischen<br />
auch als System-Management-System eingesetzt.<br />
Damit bietet HP-OpenView eine erprobte System-Management-Umgebung, mit der die<br />
Belange des System-Managements in heterogenen Landschaften gut abgedeckt werden<br />
können.<br />
Seite 303
1.4 IBM Tivoli System-Management<br />
Tivoli 239 wurde von der gleichnamigen Firma als System-Management und Storagemanagement<br />
System entwickelt. In den 90er Jahren kaufte IBM die Firma Tivoli auf, die<br />
inzwischen eine 100%ige Tochter von IBM ist. IBM hat die Tivoli Produktpalette erheblich<br />
erweitert. Inzwischen besteht die Tivoli Produktfamilie aus über 70 einzelnen Modulen.<br />
Diese umfassen auch Storagelösungen und Module für Prozessmanagement. In<br />
diesem Kapitel werden nur diejenigen Funktionen betrachtet, die notwendig sind, um die<br />
in der Einleitung dieses Kapitels beschriebenen Funktionalitäten abzubilden. Für IBM<br />
Tivoli gibt es eine umfangreiche Online Dokumentation.<br />
Tivoli ist ein kostenpflichtiges Produkt. Hierbei werden pro eingesetztes Modul und je<br />
Client Lizenzgebühren erhoben.<br />
Tivoli ist kein monolithisches Programm. Es besteht aus vielen einzelnen Modulen, die<br />
entsprechend ihrer Funktion kombiniert werden können. Mit seinen über 70 Modulen<br />
bietet es alle Funktionen, die für die Durchführung von System-Management benötigt<br />
werden. In welchen Kombinationen die Module für die einzelnen Einsatzgebiete erforderlich<br />
sind, sollte mit Hilfe des Herstellers erarbeitet werden. Dies gilt insbesondere bei der<br />
Einführung eines entsprechenden Systems.<br />
Alle Tivoli Module unterstützen die Überwachung und Administration folgender Betriebssysteme:<br />
� AIX<br />
� HP-UX<br />
� Linux<br />
� SUN Solaris<br />
� Windows NT<br />
� Windows 2000<br />
� Windows 2003<br />
Tivoli bietet für alle gängigen Systeme Module und Erweiterungen für System-<br />
Managementfunktionen an.<br />
Damit ist festzuhalten, dass Tivoli in einer heterogenen Landschaft ein bewährtes System-Management-Programmpaket<br />
ist, welches sich seit Jahren im Einsatz befindet. Aufgrund<br />
der Lizenzbedingungen kann bei großen Netzwerken die Ermittlung der Kosten<br />
jedoch schwierig sein, da bei einer Vielzahl von Modulen diese gegebenenfalls separat<br />
für jeden Client und jedes Modul lizenziert werden müssen.<br />
2 Migrationspfade<br />
Eine Migration von System-Management-Software kann je nach Umfang der eingesetzten<br />
Funktionen und der Größe der Netzwerkinfrastruktur ein sehr umfangreiches und<br />
komplexes Vorhaben sein. Gerade dann, wenn nicht nur Anwendungen zur Überwa-<br />
239 http://www-306.ibm.com/software/de/tivoli/<br />
Seite 304
chung, sondern auch Anwendungen für SW-Verteilung, Fernsteuerung und so weiter<br />
eingesetzt werden, ist eine Migration sehr zeitaufwendig und Bedarf einer sorgfältigen<br />
Planung. Zum Beispiel ist es nur sehr schwer möglich, von einem Softwareverteilungssystem<br />
auf ein anderes zu wechseln, ohne dass die einzelnen Pakete zur Softwareverteilung<br />
neu erstellt werden müssen. Am Unkritischsten ist die Migration der Anwendungen<br />
für Überwachungsfunktionen. Für die im Kapitel Technologie beschriebenen Softwaregruppen<br />
sind dies:<br />
� Nagios<br />
� IBM Tivoli Monitoring<br />
� HP OpenView Node Manager<br />
� Microsoft SMS<br />
Eine Migration von Systemmanagementsoftware sollte stets auch unter einem gesamtwirtschaftlichen<br />
Aspekt betrachtete werden. Konkret: Es sind nicht nur die Aufwendungen<br />
für die Migration zu betrachten, sondern auch die positiven oder negativen Auswirkungen<br />
auf die Betriebskosten nach einer Migration. Sicherlich stellt sich zunächst die<br />
grundlegende Frage, ob beziehungsweise warum von einer proprietären Lösung zu einer<br />
anderen proprietären gewechselt werden sollte, zum Beispiel von IBM nach HP oder von<br />
HP nach Microsoft. Die Argumente für und wider eine solche Migration sind im Vorfeld<br />
eindeutig herauszuarbeiten. Hingegen ist eine Migration hin zu OSS Software unter rein<br />
finanziellen Aspekten sicherlich immer reizvoll.<br />
2.1 Migration von Tivoli System-Management nach HP Open View<br />
Die Migration von Tivoli System-Management nach HP OpenView stellt eine Migration<br />
von einem proprietären System in ein anderes proprietäres System dar. Hierbei bietet<br />
HP auch Unterstützung für eine solche Migration an. Aufgrund der Komplexität der beiden<br />
Produktfamilien ist aber genau darauf zu achten, welche Unterstützungsleistung<br />
tatsächlich benötigt wird. So bietet HP u.a. ein Migrationstool an, welches die Migration<br />
von IBM Tivoli Service Desk nach HP OpenView Service Desk unterstützt. Beide Programme<br />
dienen nicht zur Unterstützung des System-Managements, sondern zur Unterstützung<br />
von Service Desk Funktionalitäten. Sie gehören dennoch zur gleichen Produktfamilie<br />
des System-Managements. Eine Migration von IBM Tivoli nach HP OpenView<br />
stellt sich in der Regel als Neuaufbau eines HP OpenView Systems und der späteren<br />
Abschaltung des IBM Tivoli Systems dar. Dies hat mehrere, nachfolgend kurz aufgeführte<br />
Gründe:<br />
� Geringe Unterbrechungen des Systemmanagements während der Migrationszeit<br />
� Chance zur Neukonzeption der Überwachungsfunktionen und Regeln<br />
� Überprüfung der neuen Überwachungslandschaft durch Vergleich mit bestehenden<br />
Daten<br />
� Möglichkeit zur Abschaltung des alten Überwachungssystems, wenn das neue<br />
System voll funktional und abgenommen ist<br />
� Möglichkeit, die IBM Tivoli Clients nacheinander gegen die HP OpenView Clients<br />
auszutauschen.<br />
Seite 305
Diese Vorgehensweise birgt allerdings das finanzielle Risiko, dass während der gesamten<br />
Migrationszeit, die gegebenenfalls auch länger als geplant sein kann, evtl. anfallende<br />
Lizenzkosten, SW-Wartungskosten und Supportkosten für beide Systeme entrichten<br />
werden müssen.<br />
2.2 Migration von proprietärer Systemüberwachungssoftware nach Nagios<br />
Obwohl in diesem Kapitel nur auf die eingangs erwähnte Migration von Systemüberwachungssoftware<br />
fokussiert wird, seien vorab einige allgemeine Anmerkungen zur Migration<br />
von System-Managementsoftware nach OSS aufgeführt.<br />
Beim System-Management folgen die meisten OSS-Betriebssysteme entsprechend ihrer<br />
Herkunft dem UNIX-Weg. Als Mehrbenutzer- und Netzwerksysteme sind die Funktionen<br />
für das zentrale System-Management bei den OSS-Systemen sehr vielfältig und in<br />
einigen Bereichen das Vorbild und nicht die ersetzende Alternative zu einer Windows-<br />
Lösung. Für Administratoren und Betriebsorganisation sind bei einer Migration auch<br />
konzeptionelle Änderungen zu erwarten, die insbesondere bezüglich der Sicherheit<br />
große Fortschritte ermöglichen. Die Sicherheit und Zuverlässigkeit, die den Linux-<br />
Systemen allgemein zugeschrieben wird, ist nicht zuletzt das Resultat des System-<br />
Managements.<br />
Für diejenigen Personen, die mit dem System-Management betraut sind, bedeutet ein<br />
Migrationsprojekt deutliche Veränderungen. Sowohl die Möglichkeiten zur Analyse als<br />
auch die Optionen zur Anpassung und Korrektur der OSS-Systeme erlauben den Systemadministratoren<br />
höhere Freiheitsgrade, als vergleichsweise bei einem geschlossenen<br />
Windows-System gegeben sind. Diese Freiheit kann dazu genutzt werden, sich von<br />
Herstellern und externen Dienstleistern zu emanzipieren und gleichzeitig die Qualifikation<br />
der eigenen Mitarbeiter zu erhöhen. Die Transparenz der offenen OSS-Systeme erleichtert<br />
das grundsätzliche und tiefgreifende Verständnis von Funktion und Abhängigkeiten<br />
der verschiedenen Komponenten in einer modernen IT-Infrastruktur.<br />
Bei der Migration von Systemüberwachungssoftware nach Nagios sollte man die Möglichkeit<br />
nutzen, zuerst das Nagios System aufzubauen und erst danach das proprietäre<br />
System abzuschalten. Zumal sich hierbei das finanzielle Risiko auf die Bereitstellung<br />
einer Hardware-Plattform beschränkt, die während des Migrationszeitraums parallel zur<br />
Verfügung gestellt werden muss.<br />
2.3 Migration von SMS 2.0 nach SMS 2003<br />
Der System Management Server 2003 (SMS) ist die Nachfolgeversion des System Management<br />
Server 2.0. SMS 2003 beinhaltet im Wesentlichen die gleichen Funktionalitäten<br />
wie der SMS 2.0, die aber auf fast allen Ebenen verbessert wurden. Zur Migration<br />
bietet Microsoft umfangreiche Unterstützung auf seinen Webseiten an 240 .<br />
Eine Migration kann über mehrere Wege erfolgen, zum einen über „Bordmittel―, durch<br />
Kopieren, und durch generierte Reports und zum anderen durch das SMS Migration Tool<br />
240 http://www.microsoft.com/germany/aktionen/partnerfinden/solutionfinder/ default.mspx?solutionid=9ae215677c5d4379ab02f86a817c0523<br />
Seite 306
(CCSMT) das von Microsoft zur Verfügung gestellt wird. Dieses Tool wird von Computacenter<br />
im Rahmen des Solution Finder Programms von Microsoft angeboten 241 .<br />
Die Komplexität einer Migration von SMS2.0 zu SMS 2003 ist sicherlich als gering anzusehen.<br />
Dennoch ist ein erheblicher zeitlicher Aufwand notwendig, der bei der Planung<br />
nicht unterschätzt werden darf.<br />
3 Bezüge<br />
3.1 Netzwerkdienste<br />
System-Überwachungs- und Management-Dienste sind komplexe Werkzeuge, die mit<br />
den Anwendungen und Protokollen, die von ihnen überwacht werden, in Verbindung<br />
stehen müssen. Diese Interaktion geschieht in der Regel über eigene Protokolle, die in<br />
Netzwerken weitergeleitet werden. Je nach Technologie entstehen hierdurch Bezüge zu<br />
dem Thema Netzwerkdienste (Kapitel II.C 3.1). Die darin beschriebenen Netzwerkdienste<br />
können in vielen LANs grundlegende Verantwortung für die Identifikation von Rechnern<br />
in Netzwerken tragen und sind somit auch für Systemüberwachungsdienste von<br />
Bedeutung.<br />
3.2 Webserver<br />
Systemüberwachungsdienste stellen ihre gewonnenen Überwachungsdaten gelegentlich<br />
im HTML oder XML Format auf Massenspeichern ab (z.B. MRTG). Diese Daten werden<br />
häufig von einem Webserver an einer bestimmten Webadresse passwortgeschützt veröffentlicht.<br />
Da dieser Art von Anwendungen auch sicherheitsrelevante Überwachung zur<br />
Aufgabe hat, werden die Überwachungsdaten gelegentlich auf externe Geräte oder<br />
Computer übertragen, um diese im Falle eines Dateneinbruchs vor Manipulation zu<br />
schützen. Es entstehen hierdurch je nach Anwendung und Installation Bezüge zu den<br />
Themen Webserver (siehe II.A ).<br />
241 http://www.microsoft.com/germany/mittelstand/partner/ partnerfinder.mspx?solutionid=9ae215677c5d4379ab02f86a817c0523<br />
Seite 307
III. Modul Anwendungen<br />
A Thema Messaging und Groupware<br />
Eine Software, welche die Zusammenarbeit in einer Gruppe über räumliche und zeitliche<br />
Distanzen hinweg ermöglicht, wird als Groupware bezeichnet. Groupware-Systeme vereinen<br />
eine Reihe von Funktionalitäten und Diensten unter einem Dach. Klassisch sind<br />
dies<br />
� E-Mail-Austausch,<br />
� Adressbuch,<br />
� Kalender mit Terminplanungsfunktionalitäten für persönliche Termine und innerhalb<br />
von Gruppen (Gruppen-Kalender),<br />
� Notiz- und Aufgabenverwaltung<br />
� Öffentliche/Gruppen-Ordner<br />
Einige der hier betrachteten Groupware-Systeme stellen darüber hinaus auch Funktionen<br />
wie Ressourcenverwaltung oder Foren zur Verfügung.<br />
In den folgenden Abschnitten werden verschiedene dieser Systeme betrachtet.<br />
1 Produkte / Technologien<br />
1.1 OpenGroupware.org<br />
OpenGroupware.org (OGo) 242 ist eine der ältesten Groupware-Lösungen auf dem Markt<br />
und – ähnlich wie andere Open Source Software Lösungen – aus einem ehemals proprietärem<br />
Produkt, „Skyrix― der Skyrix Software AG 243 ,entstanden. Im Sommer 2003 hat<br />
die SKYRIX Software AG 244 das gleichnamige Produkt unter den Lizenzbedingungen der<br />
GNU GPL/LGPL freigegeben. Seit diesem Zeitpunkt wird die Software unter dem Namen<br />
OpenGroupware.org als Community-Projekt weiterentwickelt.<br />
Neben Opengroupware.org mit seiner eigenen webbasierte Benutzeroberfläche gibt es<br />
von Skyrix noch den ZideLook Connector, mit dem Outlook Clients angebunden werden<br />
können. Weiterhin kann auf den OpenGroupware-Server durch sogenannte „native<br />
Clients― wie z. B. Microsoft Outlook, Mozilla Calendar oder Apple iCal.app zugegriffen<br />
werden.<br />
Als „instantOGo― gibt es auch eine vollständige Linux-Distribution mit Betriebssystem,<br />
Groupwarekomponenten und Hilfsprogrammen.<br />
242 http://www.opengroupware.org<br />
243 http://www.skyrix.de<br />
244 Skyrix ist ein kleines Unternehmen mit Sitz in Magdeburg (ca. 15 Mitarbeiter).<br />
Seite 308
Der ZideLook Connector sowie instantOGo 245 werden von Skyrix genau wie der Support<br />
und die Wartung zu OpenGroupware.org kostenpflichtig angeboten.<br />
OpenGroupware.org wird am häufigsten in der Dienstleistungsbranche und in der öffentlichen<br />
Verwaltung eingesetzt. Über die Zahl der Installationen liegt keine Information vor,<br />
da die Software frei heruntergeladen und ohne Registrierung installiert werden kann.<br />
Derzeit liegt OpenGroupware.org in der <strong>Version</strong> 1.0.0 vom Januar 2007 vor, ZideLook,<br />
der Outlook-Konnektor von Skyrix, in der <strong>Version</strong> 2.1 vom Juni 2007 und InstantOGo in<br />
der <strong>Version</strong> 2.0 vom Mai 2007.<br />
Die folgende Abbildung zeigt die grundlegende Architektur des Groupwaresystems im<br />
Zusammenspiel mit anderen OSS Komponenten.<br />
Abbildung 31: OpenGroupware-Architektur 246<br />
OpenGroupware.org ist eine Server-Anwendung, die von Anwendern über Web-Browser<br />
bedient wird. Es stehen zusätzlich Schnittstellen für die Mehrzahl der am weitesten<br />
verbreiteten Groupwareclients zur Verfügung (s.o.).<br />
Derzeit stehen Pakete für die Installation auf x86-Linux Distributionen von Debian, Suse,<br />
RedHat und Mandrake sowie für FreeBSD zur Verfügung. Neben der Kernanwendung,<br />
die in Objective-C geschrieben wurde, setzt OpenGroupware.org auf bewährte Standardkomponenten<br />
wie PostgreSQL, Apache oder Cyrus IMAP.<br />
245 Weitere Information unter http://instantogo.com.<br />
246 Quelle: http://www.opengroupware.org/en/devs/docs/OGoArchitecture.html<br />
Seite 309
Der Server bietet folgende Funktionen:<br />
� Gruppenterminplanung,<br />
� Kontakte (Personen, Unternehmen),<br />
� Ressourcen-Management,<br />
� Aufgabenverwaltung (Task-Management),<br />
� Projektcontainer zur Verwaltung von Dokumenten (inklusive <strong>Version</strong>ierung),<br />
Notizen und Aufgaben,<br />
� E-Mail (mit zusätzlichem Mailserver, beispielsweise dem Cyrus IMAP),<br />
� umfassendes Rechte-Management für Kontakte, Termine, Aufgaben und<br />
Projekte,<br />
� Palm-Synchronisation,<br />
� CTI API zur Integration von TK-Anlagen.<br />
Das Backend zeichnet sich durch eine modulare Architektur und vor allem durch das<br />
Vorhandensein einer umfangreichen XML-RPC API aus. Mit dieser API können nahezu<br />
alle Funktionalitäten, die über die webbasierte Nutzerschnittstelle oder andere Clients<br />
genutzt werden können, ausgeführt werden.<br />
Zur Unterstützung einer großen Anzahl von parallel arbeitenden Nutzern besteht die<br />
Möglichkeit der horizontalen Skalierung, zum Beispiel durch die Verwendung der Software<br />
Loadbalancer 247 . Diese Software verteilt die einzelnen OGo Prozesse je nach Lastsituation<br />
auf verschiedene Knoten im Clusterverbund. Dieses Verfahren kann auch zur<br />
Gewährleistung von Ausfallsicherheit genutzt werden.<br />
Die Webschnittstelle ist die primäre Benutzerschnittstelle des OpenGroupware.org-<br />
Servers. Der Anwender verfügt über die Möglichkeit, die Ansichten der Weboberfläche<br />
seinen persönlichen Bedürfnissen anzupassen. Zentrale Komponenten zur Organisation<br />
von Gruppen- und Einzelterminen, Ressourcen und Kontakten sind ebenso integriert wie<br />
Projektcontainer, die sowohl Aufgaben, Notizen und Dokumente aufnehmen und entsprechend<br />
der vergebenen Zugriffsrechte den Teammitgliedern zur Verfügung stehen. In<br />
jedem Projektcontainer lassen sich beliebige Ordnerstrukturen erzeugen, in denen<br />
Dokumente mittels eines Check-In/Check-Out-Verfahrens versioniert gespeichert und ab<br />
OGo 1.0 zusätzlich über WebDAV zur Verfügung gestellt werden. Über den eingebauten<br />
WebMailClient wird der Zugriff auf IMAP4-Postfächer ermöglicht, wobei auch serverseitige<br />
Filter, Abwesenheitsnotizen und Mailquotas über den Webbrowser verwaltet<br />
werden können, sofern diese Funktionen vom IMAP Server unterstützt werden 248 .<br />
Outlook-Anwender benötigen einen proprietären und kostenpflichtigen Konnektor, der<br />
von der SKYRIX Software AG unter dem Produktnamen „ZideLook― angeboten wird. Die<br />
Lösung besteht aus einem „MAPI Storage Provider"-Plugin für Outlook und einem<br />
zusätzlichen Servermodul für OpenGroupware.org. Zwischen Server und Client erfolgt<br />
keine Synchronisation der Daten sondern ein Direktzugriff auf die „live" Daten des<br />
247 Der Loadbalancer steht im Rahmen des Wartungsvertrages zur Verfügung.<br />
248 Es empfiehlt sich beispielsweise die Verwendung des Cyrus IMAP Servers.<br />
Seite 310
Groupware-Servers. Das ZideLook-Plugin übersetzt dabei die MAPI Aufrufe von Outlook<br />
in Aufrufe gemäß dem standardisierten WebDAV Protokoll und sendet sie an den<br />
ZideStore Server. Dieser liefert die OGo-Groupware-Daten im XML-Format aus. Der<br />
noch fehlende Replikationsmechanismus schränkt jedoch die Nutzung für mobile<br />
Anwender ein. ZideLook ermöglicht den Zugriff auf den privaten Kalender, auf die private<br />
Aufgabenliste, auf Gruppenkalender und Gruppen-Aufgabenlisten sowie auf öffentliche<br />
(globale) und private Kontakte. Aktuell werden die Outlook <strong>Version</strong>en 2000, XP und<br />
2003 offiziell unterstützt.<br />
PalmOS-basierte PDAs und Smartphones können direkt über den in OGo enthaltenen<br />
NetworkHotSync Daemon serverseitig angebunden werden. Alle Einstellungen zur<br />
Übernahme von Kontakten, Terminen und Aufgaben kann der Anwender dabei über die<br />
Webschnittstelle vornehmen. Neben dem Abgleich über die klassische USB-Dockingstation<br />
ist auch die Datenübermittlung im mobilen Betrieb über Handys mittels IrDA,<br />
Bluetooth und WLAN möglich. Anwendern von PocketPC beziehungsweise WindowsCE<br />
Endgeräten oder aktuellen Smartphones steht derzeit nur die Anbindung über den<br />
MS Outlook Client zur Verfügung.<br />
Je nach Einsatzszenario erfolgt die Administration über die Webschnittstelle oder direkt<br />
mittels der Kommandozeile auf den Servern. So sind die Verwaltung von Nutzern,<br />
Teams, Ressourcen für die Terminplanung oder die Verwaltung von Kategorien für das<br />
Kontaktmanagement einfach und auch von Anwendern ohne Linuxerfahrung über den<br />
Browser realisierbar. Durch die Verwendung von Nutzer-Vorlagen lassen sich einmal<br />
definierte Benutzerprofile auf neu einzurichtende Nutzer vererben. Alternativ bietet sich<br />
bei der Integration großer Nutzerzahlen die Verwendung eines LDAP-basierten<br />
Verzeichnisdienstes an, der über das XML-RPC API integriert werden kann. Diese<br />
Schnittstelle ermöglicht darüber hinaus den skriptgesteuerten Zugriff auf nahezu alle<br />
Funktionalitäten des OGo Applicationservers und stellt somit eine Möglichkeit zur Automatisierung<br />
komplexer Initialisierungsprozesse dar.<br />
Das Design der Weboberfläche ist vollständig in Templates beschrieben, wobei beliebig<br />
viele dieser Template-Sets angelegt werden können und dem Nutzer dann wahlweise<br />
zur Verfügung stehen. Auf diesem Weg kann der Administrator auch sehr einfach<br />
gewünschte Anpassungen an existierende Corporate Design Festlegungen vornehmen.<br />
Diese einfache Möglichkeit wird außerdem zur Lokalisierung der Weboberfläche benutzt,<br />
die bereits heute in 13 Sprachen zur Verfügung steht.<br />
OpenGroupware.org unterstützt die Verschlüsselung des Datentransfers zwischen<br />
Server und dem jeweils verwendeten Clientsystem über SSL. Für die Anbindung von<br />
Outlook und PalmOS Endgeräten ist der Einsatz eines geeigneten SSL-Tunnels zu<br />
empfehlen. Dies gilt auch für die Kommunikation zwischen den einzelnen Servern,<br />
sofern einzelne Komponenten wie beispielsweise der IMAP-, LDAP- oder SQL-Server<br />
zwecks Lastverteilung auf separaten Servern betrieben werden sollen und diese über ein<br />
als unsicher einzuschätzendes Netz miteinander verbunden sind.<br />
OpenGroupware.org unterstützt derzeit keine S/MIME beziehungsweise PGP Mailverschlüsselung<br />
im webbasierten Mailclient. Eine entsprechende Erweiterung ist geplant.<br />
OpenGroupware.org besitzt keinen eigenen Spam- oder Virenschutz, jedoch können alle<br />
zum jeweiligen MTA kompatiblen Spam- und Antivirenprogramme verwendet werden.<br />
Seite 311
Neben der Webschnittstelle und dem proprietären Outlook-Konnektor ZideLook steht<br />
eine XML-RPC-Schnittstelle mit umfangreichen Möglichkeiten zur Verfügung. Es existieren<br />
dazu auch Werkzeuge, die allerdings bisher nur im Projektgeschäft verwendet<br />
wurden.<br />
Da OGo einen Standard-Mailserver wie Cyrus-IMAP und Postfix-SMTP einbindet,<br />
werden alle gängigen Protokolle unterstützt. OpenLDAP ist über XML-RPC integriert,<br />
somit steht auch eine LDAP-Schnittstelle zur Anbindung von Active Directory und LDAP-<br />
Directories bereit.<br />
Über die MAPI-Schnittstelle von ZideLook kann auf Termine, Kontakte und Aufgaben<br />
zugegriffen werden. Da die MAPI-Nachrichten aus Outlook dekodiert und im SQL-<br />
Backend abgelegt werden, stehen sie auch anderen Clients sowie der Weboberfläche<br />
zur Verfügung.<br />
Der Datenaustausch findet über die Clients statt; damit werden alle in den Clients integrierten<br />
Formaten unterstützt, zum Beispiel die von Outlook (ab <strong>Version</strong> 2000).<br />
Zusammenfassend ist festzuhalten: OpenGroupware.org verfügt über Groupware-<br />
Funktionen mit einer mächtigen Weboberfläche, die über die Funktionalität von Outlook<br />
hinausgeht. Es werden Anbindungsmöglichkeiten an gängige Clients wie Outlook unter<br />
Windows und Evolution unter Linux angeboten. Die Synchronisation mit mobilen Endgeräten<br />
ist dann schwierig, wenn nicht mit Outlook als Client synchronisiert wird.<br />
Über die XML-RPC-Schnittstelle und über direkten Zugriff auf die SQL-Datenbank ist ein<br />
Datenaustausch mit anderen Systemen möglich; gängige Protokolle wie SSL, LDAP,<br />
MAPI, IMAP, SMTP werden unterstützt.<br />
1.2 OpenXchange<br />
Open-Xchange Server 5 unterstützt Teamarbeit mit Basisdiensten wie E-Mail, Termin-<br />
und Kontaktverwaltung. Darüber hinaus liefert Open-Xchange integrierte Module zum<br />
Dokumentenaustausch, zur Aufgaben- und Projektsteuerung, zum Aufbau einer<br />
Wissensdatenbank und eines Forums.<br />
Mit Open-Xchange OXtender werden Offline-Clients wie Microsoft Outlook angebunden<br />
und die Synchronisierung mit Smartphones und Palm Pocket PCs realisiert.<br />
Im August 2004 wurde die ursprünglich proprietäre Groupware-Komponente Comfire<br />
unter dem Namen Open-Xchange als freie Software unter GPL zur Verfügung 249 gestellt<br />
und nach dem OpenSource-Modell weiterentwickelt. Open-Xchange wird in Deutschland<br />
an den Standorten Olpe und Nürnberg entwickelt und ist darüber hinaus in den USA in<br />
Tarrytown, New York, vertreten.<br />
Ein weltweites Partnernetzwerk 250 bietet neben integrierten Open-Xchange-Lösungen<br />
auch die Kompetenz zur Unterstützung bei der Planung, Implementierung und dem<br />
Support von komplexen Integrationsprojekten.<br />
249 http://www.open-xchange.com/header/community_area.html<br />
250 http://www.open-xchange.com/DE/header/partner/partner_suchen.html<br />
Seite 312
Für das Jahr 2006 nennt Open-Xchange mehr als 2000 registrierte Installationen des<br />
Open-Xchange Server 5 im deutschsprachigen Raum. Zum Kundenkreis 251 von Open-<br />
Xchange gehören Unternehmen, Bildungseinrichtungen und Behörden mit z.T. mehreren<br />
Tausend Endbenutzern pro Organisation.<br />
Seit Februar 2007 bietet der Webhoster 1&1 252 den webbasierten Groupware-Dienst<br />
MailXchange auf Basis von Open-Xchange an. Mit dieser Lösung werden Zielgruppen<br />
wie Freiberufler und kleine Unternehmen angesprochen.<br />
Im April 2005 wurde Open-Xchange Server 0.8.0 fertiggestellt. Seitdem folgten mehrere<br />
<strong>Version</strong>en 253 und Service Packs. Im März 2007 erfolgte die Veröffentlichung der <strong>Version</strong><br />
Open-Xchange Server 0.8.6 und im Juni 2007 stellte Open-Xchange das Service Pack 3<br />
seinen Anwendern zu Verfügung. Open-Xchange Server 0.8.x läuft unter der kostenlosen<br />
GNU General Public License, <strong>Version</strong> 2 der Free Software Foundation. Zusätzlich<br />
stellt Open-Xchange für die Anbindung von MS Outlook an Open-Xchange Server 0.8.x<br />
eine kostenlose GPL-<strong>Version</strong> des OXtender zur Verfügung.<br />
Mit Open-Xchange Community Edition wird Open-Xchange als kostenlose GPL-<strong>Version</strong><br />
angeboten, die zusätzlich die Creative Commons Attribution-NonCommercial-<br />
ShareAlike 2.5 254 vereinbart. Diese Edition von Open-Xchange bietet gegenüber Open-<br />
Xchange Server 0.8.x eine optimierte Server-Architektur und einen AJAX-basierten<br />
Webclient, jedoch zurzeit nicht die Funktionen Forum, Projekte and Pinnwand. Außerdem<br />
ist die Anbindung von Offline-Clients über OXtender nicht möglich. Installations-<br />
und Konfigurationshinweise findet man im Wiki 255 von Open-Xchange. Falls weiterreichende<br />
Unterstützung erforderlich ist, steht das Open-Xchange Forum zur Verfügung.<br />
Zusätzlich werden die Produkte Open-Xchange Server 5, Open-Xchange Express Edition<br />
und Open-Xchange Hosting Edition angeboten. Der propietäre Open-Xchange Server<br />
5 bietet über den Umfang der kostenlosen GPL-<strong>Version</strong> und hinaus Werkzeuge für die<br />
Installation und Administration sowie eine Dokumentation für Benutzer den Zugang für<br />
ein Jahr zu den Leistungen des Open-Xchange Maintenance Portals. Das Maintenance<br />
Portal stellt kontinuierlich weitergehende Funktionalitäten in Form von regelmäßigen<br />
Updates zur Verfügung sowie Dokumentationen für Endanwender und Administratoren.<br />
Darüber hinaus bietet Open-Xchange seinen Kunden Installations-Support per E-Mail<br />
ohne sowie mit garantierten Antwortzeiten.<br />
Das Produkt Open-Xchange Express Edition 256 ist eine Komplettlösung und enthält neben<br />
dem Betriebssystem (optimiertes Ubuntu), auch E-Mailserver (Cyrus IMAP & Postfix),<br />
Collaborationserver, Webserver (Apache), Datenbank (MySQL), Dokumentenverwaltung,<br />
Installationswerkzeug, Administratormodul, Backup, automatischen Update-<br />
Dienst, Anti-Virenschutz (ClamAv) und Anti-Spam (SpamAssassin).<br />
251 http://www.open-xchange.com/DE/header/unternehmen/news_presse/referenzen.html<br />
252 http://www.1und1.de/<br />
253 http://www.open-xchange.com/wiki/index.php?title=<strong>Version</strong>ing_and_Numbering<br />
254 http://www.open-xchange.com/header/community_area/faqs_ox_community_project.html<br />
255 http://www.open-xchange.com/main_entry/community_area/wiki.html<br />
256 http://www.open-xchange.com/fileadmin/downloads/oxee/Tech_Fact_Sheet_DE.pdf<br />
Seite 313
Für Internet Service Provider und Webhosting-Anbieter bietet Open-Xchange mit der<br />
Open-Xchange Hosting Edition Werkzeuge zur Systemüberwachung und für optimierte<br />
Lastverteilung, Geschwindigkeit, Clustering und Skalierbarkeit.<br />
Open-Xchange Server 5 unterstützt die beiden Linux-Betriebssysteme Red Hat Enterprise<br />
Linux 4 und Suse Linux Enterprise Server 9. Da Novell eine geeignete <strong>Version</strong><br />
seines Enterprise-Linux Betriebssystems kostenlos per Download zur Verfügung stellt,<br />
wird an dieser Stelle auch die dazu abgestimmte <strong>Version</strong> des Open-Xchange Servers<br />
angeboten.<br />
Die aktuelle Preisliste 257 mit Behördentarifen kann auf den Unternehmensseiten von<br />
Open-Xchange eingesehen werden.<br />
Die Architektur von Open-Xchange Server 5 basiert vollständig auf offenen Standards<br />
und Protokollen. Die gesamte Lösung besteht aus unterschiedlichen modularen Software-Einheiten,<br />
die im Zusammenspiel die Mail- und Groupware-Funktionalitäten realisieren.<br />
Die Basis der Groupware-Lösung bildet der Java-basierte Open-Xchange Application-Server.<br />
Abbildung 32: Open-Xchange Architektur 258<br />
Aufgrund der modularen und offenen Architektur kann Open-Xchange Server in<br />
bestehende IT-Umgebungen integriert werden und ermöglicht somit eine Erweiterung<br />
bestehender Systeme. Über standardisierte Schnittstellen kann die Server-Funktionalität<br />
an unterschiedliche Bedürfnisse angepasst werden. Über die sogenannten OXtender<br />
lassen sich bei Bedarf zusätzliche Funktionen und Programme von Drittanbietern<br />
anbinden. Beispiele hierfür sind OXtender für MS Outlook, Palm OS, Samba Services<br />
und SynchML.<br />
257 http://www.open-xchange.com/fileadmin/downloads/pricelist.pdf<br />
258 Quelle: OPENXCHANGE Server 5.0, Architecture, Integration and Interfaces, High Level<br />
Overview V 0.92, Stephan Martin, Senior System Architect<br />
http://www.proite.de/fileadmin/user_upload/produkt-bilder/ox/Open-Xchange-OX-<br />
Architecture.pdf (Stand 27.10.2007)<br />
Seite 314
Besonders vorteilhaft ist die Skalierbarkeit aufgrund der Möglichkeit, Komponenten auf<br />
verschiedene Server-Systeme zu verteilen. Zusätzlich können Komponenten auf<br />
mehrere Server repliziert werden.<br />
Nachfolgend sollen nur jene Softwarepakete betrachtet werden, die im unmittelbaren<br />
Zusammenhang mit der Groupware-Funktionalität stehen. Die gesamte Lösung besteht<br />
aus unterschiedlichen modularen Software-Einheiten, die im Zusammenspiel die Mail-<br />
und Groupware-Funktionen realisieren. Die Basis der Groupware-Lösung bildet der<br />
Java-basierte Open-Xchange Application Server.<br />
Komponenten Aufgaben<br />
Postfix Mail-Transfer-Agent (MTA)<br />
Cyrus IMAP Realisiert die IMAP-Funktionalität<br />
OpenLDAP Zentraler Verzeichnisdienst für die Nutzerverwaltung<br />
Postgres SQL Datenbank zur Verwaltung der Groupware-Daten<br />
Apache – Tomcat Realisierung des Webfrontends (Mail, Groupware)<br />
Tabelle 49: Mögliche Komponenten der Open-Xchange-Lösung<br />
Die Serverkomponenten bieten umfangreiche Mail- und Groupware-Funktionalitäten.<br />
Den Benutzern stehen unterschiedliche Funktionen zur Verfügung:<br />
� E-Mails empfangen und versenden,<br />
� Terminverwaltung,<br />
� Adressenverwaltung,<br />
� Aufgabenverwaltung,<br />
� Notizfunktionen,<br />
� Dokumentenmanagement (<strong>Version</strong>skontrolle und Ordnerstruktur),<br />
� Projekt-Management,<br />
� Konfigurierbare Wissensdatenbank mit Volltextsuche,<br />
� Gruppenbasiertes Diskussionsforum.<br />
In Hinblick auf die Unterstützung unterschiedlicher Client-Systeme muss zwischen der<br />
Mail- und der Groupware-Funktionalität unterschieden werden. Der Zugriff auf die Mailfunktionalitäten<br />
kann mittels aller POP3- und IMAP-fähigen Clients erfolgen. Zusätzlich<br />
können die Benutzer über eine speziell integrierte Webmail-Lösung auf ihre Mails zugreifen.<br />
Die Nutzung der oben aufgeführten Mail- und Groupware-Funktionalitäten kann vollständig<br />
über den browserbasierter Zugriff per Web-Portal erfolgen. Den Benutzern stehen in<br />
allen Funktions-Modulen die LDAP-basierten Adressbücher, die Möglichkeit der Rechtevergabe<br />
und Suchfunktionalitäten zur Verfügung. Bei der Nutzung der Terminvereinbarungsfunktion<br />
erfolgt eine automatische serverseitige Analyse der bereitstehenden<br />
Seite 315
Ressourcen für den jeweiligen Zeitraum. Die webbasierten Angebote erlauben den Anwendern<br />
die Nutzung umfassender Gruppen-Funktionalitäten.<br />
Weiterhin können Clientanwendungen von Drittanbietern mit dem Groupwareserver<br />
kommunizieren, sofern sie Protokolle wie IMAP, LDAP und WebDAV oder das iCal-<br />
Format unterstützen.<br />
Für die verschlüsselte Übertragung kann auf OpenSSL zurückgegriffen werden.<br />
OpenSSL realisiert die Datenverschlüsselung zwischen den Applikationen und Komponenten.<br />
IMAP und POP3 können mittels SSL-Tunnel und SMTP mittels TLS sicher übertragen<br />
werden.<br />
Die Komplettlösung Open-Xchange Express Edition bietet einen integrierten Anti-Virus<br />
und Anti-Spam Schutz.<br />
Der Open-XChange Server ist auf offenen Standards wie XML-RPC, WebDAV (XML),<br />
LDAP, Tirgger, iCal und HTTP/S gebaut 259 . Zum Zugriff und zur Erweiterung des Open-<br />
Xchange Servers stehen die Programmierschnittstellen HTTP API, WebDAV API,<br />
Oxmapi und Open-Xchange Hyperion CLT zur Verfügung 260 :<br />
� HTTP API 261 wird von dem neuen AJAX-basierten Webclient genutzt. Der Daten-<br />
austausch erfolgt in JavaScript Object Notation (JSON) über HTTP GET, POST<br />
und PUT requests.<br />
� WebDAV API 262 wird von externen Client-Anwendungen zur Modifikation von<br />
Objekten auf dem Open-Xchange Server verwendet. Es basiert auf WebDAV-<br />
Standard mit Erweiterungen für den Open-Xchange Server.<br />
� Oxmapi 263 ist eine Windows Library zur Kommunikation von Windows-<br />
Anwendungen mit dem Server.<br />
� Open-Xchange Hyperion CLT 264 sind Shell-Scripts, die Administration des<br />
Servers erlauben.<br />
Zusammenfassend heißt das, dass die Groupware-Lösung Open-Xchange ein modular<br />
aufgebautes Groupware-System anbietet, bei dem die einzelnen Module auf bewährten<br />
Open Source Komponenten basieren. Als Groupware-Komponente wird der Javabasierte<br />
Applikationsserver integriert, der im Zusammenspiel mit den anderen Komponenten<br />
den Benutzern umfangreiche Groupware-Funktionalitäten bietet. Die einzelnen<br />
Server-Komponenten können auf verschiedene Systeme verteilt werden, wodurch die<br />
Skalierbarkeit von Open-Xchange gewährleistet ist. Offene Standards und die Bereitstellung<br />
von diversen Schnittstellen erlauben die Erweiterung des Open-Xchange Servers<br />
durch Drittanbieter und die Integration in bestehende IT-Landschaften. Der Benutzerzugriff<br />
auf die entsprechenden Groupware-Informationen kann entweder webbasiert oder<br />
mittels sogenannter Fat-Clients erfolgen (Kontact, usw.). Die Open-Xchange Express<br />
259 http://www.osedge.com/?q=node/22<br />
260 http://www.open-xchange.com/wiki/index.php?title=Interfaces<br />
261 http://typo3.open-xchange.com/wiki/index.php?title=HTTP_API<br />
262 http://www.open-xchange.com/wiki/index.php?title=Oxwebdavapi<br />
263 http://www.open-xchange.com/wiki/index.php?title=Oxmapi<br />
264 http://www.open-xchange.com/wiki/index.php?title=Open-Xchange_Hyperion_CLT<br />
Seite 316
Edition ist eine umfassende Komplettlösung, die neben einem AJAX-basierten Webclient<br />
auch die MS Outlook Anbindung sowie ein Administratormodul beinhaltet.<br />
1.3 eGroupWare<br />
Basierend auf einer Abspaltung des unter der GPL stehenden Groupwaresystems<br />
phpGroupware entstand im Jahre 2003 das eigenständige Projekt eGroupWare 265 . Die<br />
Abspaltung hatte zum Ziel, den Entwicklungsprozess offener zu gestalten und insbesondere<br />
für eine breite Community zu öffnen; dieses Bestreben zeigt auch die 2005 aufges-<br />
tellte Satzung über die Organisation des gesamten Projektes. Die aufgestellten Regeln<br />
beschreiben hier u.a. die genaue Vorgehensweise, wie Änderungen in der Entwicklung<br />
der Software bestimmt und bekanntgemacht werden müssen.<br />
Auf Basis einer Auswertung freiwilliger Angaben 266 von Unternehmen und Organisationen,<br />
welche auf der Webpräsenz des eGroupWare-Projekts einzusehen sind, ergibt<br />
sich folgendes Bild: Insgesamt sind mind. 45 Organisationen und Unternehmen aufgelistet,<br />
die eGroupWare nutzen. In Summe beläuft sich die Anzahl der Nutzer auf insgesamt<br />
ca. 8000, wobei die Mehrzahl der Organisationen und Unternehmen eine Nutzerzahl von<br />
weniger als 50 Personen angibt. Aus den Angaben ebenfalls ersichtlich ist der internationale<br />
Einsatz der Groupware-Lösung. Eine deutliche Mehrheit entfällt auf europäische<br />
Länder, aber auch einige Staaten aus Nord-, Süd-, und Mittelamerika sowie China beziehungsweise<br />
Südostasien werden als Standorte angegeben.<br />
Ab Mitte 2007 lautet die aktuelle <strong>Version</strong>snummer der Software: 1.4.<br />
Diese <strong>Version</strong> zeichnet sich gegenüber der Vorgängerversion (1.2.) u.a. durch folgende<br />
relevante Änderungen aus:<br />
� Neuimplementierung des Adressbuchs (Gruppen, Organisations-Ansicht, LDAP-<br />
Support)<br />
� Neue Nachverfolgungskomponente (Trackersoftware)<br />
� Neues Backend für IMAP, Verbesserungen der Mailkomponente.<br />
Nach Angaben der Projektseite ist mit der nächsten <strong>Version</strong> (1.6) im 1.Halbjahr 2008 zu<br />
rechnen.<br />
Die Software steht unter der GNU General Public License (GPL2 267 ). Kostenfreien<br />
Support bietet die Community via Handbuch, Mailinglist oder IRC-Chat an. Kostenpflichtigen<br />
Support und Unterstützung bieten die in Deutschland ansässigen Unternehmen<br />
Outdoor Unlimited Training GmbH (Kaiserslautern), Metaways Infosystems GmbH<br />
(Tremsbüttel) und CWTech Freie Netzwerk Systeme (Haiger).<br />
Als Vertreter einer webbasierten Groupware-Lösung ist die Hauptschnittstelle zu<br />
eGroupWare ein Standard-Webbrowser (Internet-Explorer, Firefox). Die Generierung der<br />
dynamisch erzeugten Inhalte geschieht auf Basis der Skriptsprache PHP. Die Inhalte<br />
werden mittels eines Webservers (Apache, IIS oder Roxen) zur Verfügung gestellt, die<br />
265 Weiterführende Informationen zu eGroupware: http://www.egroupware.org/<br />
266 http://www.egroupware.org/references<br />
267 http://opensource.org/licenses/gpl-license.php<br />
Seite 317
Datenverwaltung und -haltung kann in einer MySQL-Datenbank erfolgen. Als Datenbanksysteme<br />
können aber auch PostgreSQL, Oracle und Sybase gewählt und für die<br />
Adressverwaltung ein LDAP-Directory eingesetzt werden (siehe Abbildung 8).<br />
Abbildung 33: eGroupWare-Architektur 268<br />
Für die E-Mail-Funktionalität lassen sich beliebige Mailserver einsetzen, diese müssen<br />
die Protokolle SMTP und POP3/ IMAP unterstützen.<br />
eGroupWare ist ein betriebssystemunabhängiges und modular aufgebautes System. Bei<br />
der Integration kann zwischen zahlreichen Modulen ausgewählt werden. So stehen neben<br />
denen zur Realisierung klassischer Groupware-Funktionalitäten (Email, Kalender,<br />
Adressbuch etc.) noch weitere Module bereit. Die Module können konfiguriert werden.<br />
Module Funktion<br />
Addressbook Kontakt-Manager<br />
FelaMiMail E-Mail-Client, unterstütz u.a. Filterregeln, Abwesenheitsprofile<br />
und Freigaben von Email-Ordnern<br />
Kalender Kalender, der auch Terminierung von Gruppen, Ressourcen<br />
und Kontakten unterstützt<br />
InfoLog ToDo-Listen, Notizen und Telefonnotizen, CRM<br />
Projektmanager Integrierte Projektverwaltung<br />
SiteMgr Webseiten Bearbeitungssystem mit Zugriffskontrolle<br />
Dateiverwaltung Dateiverwaltung, basierend auf files, sql-db oder webdav<br />
268 Quelle: http://www.egroupware.org/?category_id=90<br />
Seite 318
Module Funktion<br />
Stundenzettel Zeiterfassung<br />
Verfolgungssystem Trouble Ticket System<br />
Wiki Integriertes Wiki<br />
Wissensdatenbank Forum<br />
Workflow Engines Ablauforganisation<br />
Umfragen Erstellen und Auswerten von Umfrage<br />
Chatte Synchrone-Kommunikation<br />
Tabelle 50: Auswahl an eGroupWare-Modulen<br />
Die Weboberfläche von eGroupWare basiert auf einem Template-System, es kann zwischen<br />
drei Typen für die Layout-Beschreibungen (XML, eTemplates, HTML) unterschieden<br />
werden. Diese Flexibilität erlaubt es das vorhandene Standardsystem an die jeweiligen<br />
Einsatzumgebungen anzupassen, so ist zum Beispiel eine Anpassung an das CD<br />
möglich.<br />
Das Groupware-System bietet eine sichere Übertragung von Inhalten und sichere<br />
Authentifizierung von Nutzern. Dabei unterstützen die Einzelkomponenten des<br />
Groupware-Sytems wie Webserver (zum Beispiel Apache, IIS und Roxen) das HTTPS-<br />
Protokoll. Ferner bieten IMAP-Server wie Cyrus IMAP, Courier IMAP etc. auch<br />
Verschlüsselungsmöglichkeiten (TLS, SSL) für die Authentifizierung und den Datenaustausch<br />
an. Das System selbst bietet auch ein eigenes Benutzersystem an, das den<br />
browserbasierten Zugriff auf den persönlichen Arbeitsbereich reglementiert.<br />
Zur Integration verschiedener PIM-Clients (Personal Information Manager) werden zusätzlich<br />
die folgenden Schnittstellen angeboten:<br />
� XML-RPC-API<br />
bietet Remote-Zugriff auf Funktionen des Groupwaresystems<br />
� SOAP<br />
ermöglicht den Aufbau von Serviceorientierten Anwendungen<br />
� SyncML<br />
als Beschreibungssprache, die genutzt werden kann, um Daten zwischen<br />
verschiedenen Clients auszutauschen<br />
� GroupDAV<br />
umfasst die vereinfachte <strong>Version</strong> des WebDAV-Protokolls und dient zum Beispiel<br />
dem Austausch von Kalendern, Aufgabenlisten und Kontaktlisten<br />
� IMAP<br />
als ein Protokoll zum Abruf von Emails, etc.<br />
� iCalendar<br />
als ein gängiges Format zur Beschreibung von Kalender-Daten.<br />
Seite 319
Laut Projektseite 269 ist eine Synchronisierung von Kalender, Adressbuch und InfoLog-<br />
Daten mit verschiedenen PIM-Clients möglich. Zurzeit werden die folgenden Clientapplikationen<br />
unterstützt:<br />
� Kontact<br />
� Evolution<br />
� Outlook<br />
� Mozilla Sunbird<br />
� Apple iCal<br />
� PDA (via Synthesis und Funambol).<br />
Am Beispiel von MS-Outlook ist laut Dokumentation der eGroupWare-Projektseite eine<br />
Synchronisation mit eGroupWare unter Zuhilfenahme der Schnittstellen XML-RPC-API<br />
(nur via Plugin 270 ), SyncML und iCalendar möglich.<br />
Zusammenfassend ist festzuhalten: eGroupWare ist ein modular aufgebautes System,<br />
das standardmäßige Groupware-Funktionalitäten wie Email, Kalender und Adressbuch<br />
bereitstellt sowie weitere Funktionalität wie ToDo-Listen, Stundenzettel, Umfragen etc. in<br />
zusätzlichen Modulen anbietet. Ein Zugriff auf die komplette Funktionalität des Groupware-Systems<br />
ist nur im Onlinebetrieb und aus autorisierten Netzen heraus möglich. Der<br />
Einsatz dieser auf den Webbrowser fokussierten Groupware Lösung bietet jedoch viele<br />
Vorteile:<br />
� Ein Zugriff über Webbrowser ist möglich, ebenso der gesicherte Zugriff über<br />
HTTPS von außen.<br />
� Die Installation eines speziellen Clients ist nicht notwendig.<br />
� Die Betriebssystemunabhängigkeit bietet insbesondere in heterogenen Client-<br />
Landschaften Vorteile.<br />
� Die Softwareaktualisierung erfolgt nur auf dem Server.<br />
1.4 Zarafa<br />
Die niederländische Firma ConecTUX entwickelt und vertreibt das Groupware-Produkt<br />
Zarafa 271 . Vor fünf Jahren wurde mit der Entwicklung begonnen. Der Sitz der Zarafa-<br />
Tochtergesellschaft (Zarafa Deutschland GmbH) für den deutschsprachigen Raum ist<br />
Hannover.<br />
Das Groupware-Produkt Zarafa wird derzeit von mehr als 1000 Unternehmen genutzt 272 .<br />
In den vergangenen 12 Monaten wurden 1200 Server verkauft. Die von der Benutzerzahl<br />
her derzeit größte Installation bedient rund 1500 Benutzer, die die gesamte Groupware-<br />
Funktionalität inklusive Outlook nutzen.<br />
269 Überblick Synchronisation - http://www.egroupware.org/sync<br />
270 eGWOsync - http://www.egroupware.org/wiki?wikipage=synchronisation%20outlook<br />
271 http://www.zarafaserver.de/<br />
272 http://www.zarafaserver.de<br />
Seite 320
Zarafa wird in Deutschland, Österreich, der Schweiz, den Benelux-Ländern sowie Groß-<br />
britannien und Frankreich vertrieben. Demnächst soll Skandinavien als Markt hinzukommen.<br />
273<br />
Aktuell liegt das Groupware-Produkt Zarafa in der <strong>Version</strong> 5.10 vor, die Mitte 2007 freigegeben<br />
wurde. Die <strong>Version</strong> 5.0 wurde Ende 2006 freigegeben, davor stand ab Mitte<br />
2006 die <strong>Version</strong> 4.2 zur Verfügung.<br />
Zarafa ist für zwei verschiedene Linux-<strong>Version</strong>en erhältlich: EasyLinux und OpenLinux.<br />
Für alle vorhandenen <strong>Version</strong>en von Zarafa sind die Preise gleich. Die Basis-Lizenz<br />
umfasst fünf Benutzer und kann in Schritten zu je fünf Benutzern erweitert werden.<br />
Rabatte werden für Lizenzen ab 100 Benutzern gewährt. Angaben zu Preisen und<br />
Lizenzen finden sich auf der entsprechenden Webseite 274 .<br />
Eine kostenlose Testversion kann aus dem Web bezogen und für 30 Tage genutzt werden,<br />
eine Online-Demo steht im Web zur Verfügung 275 . Zarafa steht für verschiedene<br />
Linux-Distributionen wie Debian, Fedora, RedHat, SuSE, OpenSUSE oder Ubuntu zur<br />
Verfügung 276 .<br />
Zarafa hat eine Client-Server-Architektur. Der Server ist eine Eigenentwicklung, wurde in<br />
C++ implementiert und läuft unter allen gängigen Linux-Distributionen. Mit WebAccess<br />
steht ein eigenentwickelter Client zum webbasierten Zugriff auf die Groupware-<br />
Funktionen zur Verfügung.<br />
Abbildung 34: Technische Zusammenhänge in Zarafa 277<br />
273 Firmenauskunft<br />
274 http://www.zarafaserver.de/prices.html<br />
275 http://www.zarafaserver.de<br />
276 http://download.zarafa.com/zarafa/en/zarafa_technical.pdf<br />
277 Quelle: http://www.zarafaserver.de/technical-explanation.html (Stand 27.10.2007)<br />
Seite 321
Zarafa basiert auf Open Source-Komponenten und Offenen Standards: gSOAP, MAPI,<br />
PHP, MySQL und Apache. Die Gesamtfunktionalität von Zarafa wird durch das<br />
Zusammenspiel mehrerer Komponenten erreicht, die Basisfunktionalität ist ohne die<br />
optionalen Komponenten verfügbar. Die Abbildung 34 zeigt die technischen Zusammenhänge<br />
in Zarafa.<br />
Der Zarafa-Server speichert alle Daten in einer SQL-Datenbank und verwaltet die Verbindungen<br />
der Clients wie Outlook oder WebAccess. Die Verbindung der Clients erfolgt<br />
über SOAP und der Zugang zu den angeforderten Daten wird auf seine Berechtigung<br />
geprüft. Für Outlook-Verbindungen ist immer mindestens eine Verbindung geöffnet, um<br />
Benachrichtigungen über Ereignisse zu versenden.<br />
Die Server-Einstellungen sind in einer Konfigurationsdatei einstellbar. So kann zum Beispiel<br />
festgelegt werden, wie die Authentifizierung mit dem Datenbankserver erfolgt oder<br />
wie detailliert Systemnachrichten aufzuzeichnen sind (message logs). Der Server benötigt<br />
mindestens 512 MB RAM, für hohe Lasten mehr. Es wird wenigstens eine moderne<br />
CPU empfohlen. Benötigte Software ist glibc 2.3.x, MySQL 4.1 und ein Web-Server mit<br />
PHP-Support. Die folgende Tabelle zeigt die Komponenten von Zarafa:<br />
Komponenten Aufgaben<br />
Zarafa Server Verbindet Clients über SOAP und speichert Daten in SQL-<br />
Datenbank<br />
Zarafa Client Nutzung von Outlook über MAPI-Konnektor; Verbindung zum Server<br />
erfolgt über SOAP<br />
Zarafa Dagent & Spooler<br />
Senden und empfangen von Emails mit der „externen Welt―<br />
Zarafa Admin Administrator-Werkzeug zur Verwaltung von Benutzern, Benutzerinformationen<br />
und Gruppen<br />
Zarafa Gateway Optionale Komponente für POP3 und IMAP<br />
Zarafa Monitor Überwacht Benutzer-Speicher und Quota-Überschreitungen<br />
Zarafa Caldav Optionale Komponente für iCal-Unterstützung<br />
Zarafa Backup Erzeugen von Backups<br />
Zarafa Migrate Migrations-Werkzeug zum migrieren von existierenden Exchange-<br />
und pst-Umgebungen<br />
Apache / PHP Webserver für das Webfrontend<br />
PHP MAPI Erweiterung Plug-in das MAPI-Funktionen für PHP-Entwickler zugreifbar macht<br />
Tabelle 51: Zarafa Komponenten<br />
Zur Verwaltung von Benutzern, Benutzerinformationen und Gruppen steht ein eigenes,<br />
zeilenorientiertes Administrator-Werkzeug (Shell) zur Verfügung. Für die RedHat- und<br />
Centos-Distributionen gibt es einen LDAP-basierten grafischen Benutzer-Editor, siehe<br />
die nachfolgende Abbildung.<br />
Seite 322
Abbildung 35: LDAP-basierter grafischer Benutzer-Editor<br />
Unter Windows 2000/XP werden die Clients Outlook 2000, 2003 oder XP benötigt. Sie<br />
verbinden sich über das Netzwerk mit dem Server. Da SOAP benutzt wird, sind die Verbindungen<br />
für Webserver und Proxy transparent. Es werden die folgenden Grundfunktionen<br />
unterstützt, die Outlook anbietet, ohne dass ein MS Exchange-Server benötigt<br />
wird:<br />
� Gemeinsames Verwenden von Email und Kalender<br />
� WebAccess: Zugriff auf Outlook-Daten über Web-Interface<br />
� Outlook-Nutzung von außerhalb des Firmen-Netzwerkes<br />
� Gemeinsames Verwalten von Geschäftskontakten<br />
� Verteilerlisten<br />
� Persönliche und gemeinsam genutzte Aufgabenlisten<br />
� Synchronisation für Handheld (PDA) und Laptop<br />
� Konfiguration von Zugriffsrechten über WebAccess.<br />
Zudem existiert eine iCal-Unterstützung zur Synchronisation des Kalenders (Sunbird,<br />
Mac OSX iCal).<br />
Mit Z-Push 278 hat Zarafa eine Implementierung des Active-Sync Protokolls als Open<br />
Source Software unter GPL freigegeben. Damit soll die Software ähnliche Funktionen<br />
bieten wie die proprietären Lösungen von Blackberry mit BES und Microsoft mit<br />
Exchange. Bislang scheint es noch keine SSL-Variante zu geben, sodass die Entwickler<br />
von einer Verwendung außerhalb des lokalen Netzes abraten.<br />
278 http://z-push.sourceforge.net/ (Stand 27.10.2007)<br />
Seite 323
Die Datenübertragung von Clients zum Server kann über eine verschlüsselte SSL-<br />
Verbindung und HTTPS erfolgen. Dies erfordert serverseitig eine entsprechende Konfiguration.<br />
Zugriffsrechte schützen vor unberechtigtem Zugriff auf Daten.<br />
Alle Anwendungen, die sich mit dem Zarafa-Server verbinden, nutzen den MAPI-Layer,<br />
der im MAPI-provider implementiert ist (siehe Abschnitt Architektur). Aufgrund dieser<br />
Tatsache ist davon auszugehen, dass alle MAPI-fähigen Anwendungen mit dem Zarafa<br />
interoperabel sein.<br />
Daneben steht mit der PHP-MAPI-Extension ein sehr umfangreicher Satz von Befehlen<br />
und Schnittstellen aus Microsofts MAPI-Welt unter PHP zur Verfügung. Diese Schnittstelle<br />
erfordert vom PHP-Entwickler, dass er auch über Grundwissen zu MAPI verfügt.<br />
Zusammenfassend kann festgehalten werden: Zarafa ist eine Alternative zur Nutzung<br />
von Microsoft Exchange, das heißt eine Lösung, die die Kommunikation zwischen<br />
Outlook und einem Server anbietet. Der Server läuft unter allen gängigen Linux-<br />
Distributionen. Zarafa bietet im Rahmen von MAPI eine funktionale Outlook-<br />
Unterstützung und einen entsprechenden Webclient (WebAccess). Eine PHP-MAPI-<br />
Extension stellt wichtige Funktionen für Entwickler zur Verfügung.<br />
1.5 Kolab<br />
Das Bundesamt für Sicherheit in der Informationstechnik (BSI) beauftragte 2002 ein Firmenkonsortium,<br />
eine freie Groupware-Lösung für den Einsatz im BSI zu erstellen. Darauf<br />
aufbauend entwickelte sich zunächst das Kolab-Projekt 279 , das Ende 2004 die zweite<br />
Generation der Software fertiggestellt hat.<br />
Als maximale Nutzerzahlen werden vom Kolab-Projekt einige Tausend Nutzer für einen<br />
einfachen, voll integrierten Server empfohlen. Auf der Projektwebseite finden sich keine<br />
direkten Referenzen zur Verbreitung von Kolab. Recherchen ergaben allerdings, dass<br />
zum Beispiel der Brandenburgische Landesbetrieb BLB 280 das Kolab-Groupwaresystem<br />
für mehr als 600 Bildschirmarbeitsplätze einsetzt.<br />
Im Jahre 2002 wurde Kolab konzipiert und im Juli 2003 die stabile <strong>Version</strong> 1 des Systems<br />
veröffentlicht. Nach einer Generalüberholung wurde Kolab 2.0 im Juni 2005 unter<br />
anderem mit der Neuerung des Kolab XML Format eingeführt. Aktuell ist die <strong>Version</strong> 2.1<br />
seit Mitte 2007 verfügbar, die Veröffentlichung <strong>Version</strong> 2.2 ist für Anfang 2008 geplant.<br />
Eine Nutzung der Kolab Groupware-Lösung ist aufgrund der bestehenden OSS-Lizenz<br />
(GPL) ohne Zahlung von Lizenzgebühren möglich; zur Unterstützung der Nutzer werden<br />
auch kostenpflichtige Dienstleistungen angeboten. Support, Planung und Service für das<br />
Kolab-System sind kostenpflichtig über das Kolab-Konsortium 281 verfügbar. Desweiteren<br />
erlaubt es die freie Lizenz (GPL) jedem, Erweiterungen, Verbesserungen und Veränderungen<br />
an Kolab vorzunehmen.<br />
279 http://www.kolab.org/<br />
280 http://www.kbst.bund.de/cln_028/nn_837410/SharedDocs/Projekte/OSS/ kolab__einsatz__im__land__brandenburg.html<br />
281 http://www.kolab-konsortium.de/<br />
Seite 324
Die zentrale Komponente ist der Kolab-Server, die wiederum auf eine Reihe weiterer<br />
freier Komponenten zurückgreift. Die einzelnen Komponenten werden in den folgenden<br />
Tabellen aufgeführt.<br />
Komponenten Aufgaben<br />
Cyrus IMAP IMAP / POP3 Mailserver<br />
Cyrus SASL2 Authentifizierung<br />
OpenLDAP2 Verzeichnisdienst, zum Beispiel für die Nutzerverwaltung<br />
Postfix Mail-Transfer-Agent<br />
Apache / PHP Webserver für das Webfrontend<br />
Horde-<br />
Framework 282<br />
Webclient (ab Kolab 2.2 integriert)<br />
Tabelle 52: Zentrale Kolab-Server-Komponenten<br />
Komponente Aufgabe<br />
Amavisd-New Ansteuerung von Spamfilter und Virenscanner<br />
zum Beispiel ClamAV<br />
zum Beispiel SpamAssassin<br />
Virenscanner<br />
Spamfilter<br />
Tabelle 53: Optionale Kolab Server-Komponenten<br />
Das Softwarepaket des Kolab-Servers wird als sog. OpenPKG 283 -Paket angeboten und<br />
ist somit auf verschiedenen UNIX-basierten Betriebssystemen wie z. B. Solaris, BSD<br />
und auch Linux ohne weiteres lauffähig.<br />
Zurzeit existieren verschiedene integrierte Server, die Kolab als Server-Komponente für<br />
E-Mail-, Groupware- und PIM-Funktionen anbieten. ClarkConnect 284 z. B. kombiniert den<br />
Kolab-Server mit verschiedenen anderen Funktionen und Diensten (u. a. Firewall, VPN,<br />
Backuplösungen) zu einem vollständigen Intranetserver, das als eigenständiges System<br />
(inklusive Linux-Betriebssystem) vertrieben wird. Weitere integrierte Lösungen auf Basis<br />
von Kolab sind z. B.: Univention Groupware Server (UGS) 285 , Intranator Business Server<br />
286 , Pardalays 287 .<br />
282 http://www.horde.org/<br />
283 http://www.openpkg.org/<br />
284 http://www.clarkconnect.com/<br />
285 http://www.univention.com/ugs.html<br />
286 http://www.intra2net.com/de/produkte/business_server.php<br />
287 http://www.pardus.de/products.html<br />
Seite 325
Die Kolab-Lösung baut auf einem Client-Server-Ansatz auf, der eine asynchrone<br />
Nutzung der Groupware-Funktionalitäten durch die Benutzer gewährleistet. Diese haben<br />
zum Beispiel die Möglichkeit, E-Mails, Termine, Kontakte und persönliche Aufgaben mit<br />
der entsprechenden Client-Software offline zu nutzen, das heißt ohne dass eine<br />
Verbindung zum Kolab-Server besteht. Die Änderungen werden durch eine spätere<br />
Daten-Synchronisation mit dem Server abgeglichen.<br />
Kolab ist eine plattformübergreifende Groupware-Lösung, die sowohl mit Linux-Clients<br />
als auch mit Windows-Clients nutzbar ist. Die Funktionalitäten sind mit der Outlook / Exchange-Kombination<br />
von Microsoft vergleichbar. Das Clientsystem Outlook wird mit Hilfe<br />
eines Plugins zum vollwertigen Kolab-Client und bietet so die gleiche Funktionalität wie<br />
der Linux-Client Kontact.<br />
Die hohe Skalierbarkeit der Kolab-Lösung beruht im Wesentlichen auf den folgenden<br />
Eigenschaften:<br />
� Möglichkeit, die einzelnen Kolab-Serverkomponenten (siehe Tabellen 4 und 5)<br />
auf einzelnen Servern zu betreiben: Ein Verbund aus Servern bildet somit einen<br />
einzigen geclusterten Kolab-Server.<br />
� Clusterfähigkeiten von Cyrus IMAP, OpenLDAP und Postfix: Ein Verbund von<br />
Servern bildet eine einzelne geclusterte Kolab-Serverkomponente.<br />
� Multilokationsfähigkeit: Mehrere Kolab-Server bilden einen Verbund; jeder<br />
einzelne Kolab-Server bedient eine feste Teilmenge aller Groupware-Nutzer des<br />
Verbundes.<br />
Eigentlich wurde aber die Multilokationsfähigfahigkeit (Möglichkeit von Mehrfachstandorten)<br />
eines Kolab-Server Verbundes primär nicht zur Erhöhung der Skalierbarkeit<br />
geschaffen, sondern um einen Kolab-Server Verbund räumlich über mehrere entfernte<br />
Standorte verteilt betreiben zu können.<br />
Für den produktiven Einsatz ist auch die Möglichkeit der einfachen Sicherung und<br />
Wiederherstellung von Daten entscheidend. Die Architektur des gesamten Kolab-<br />
Systems vereinfacht die Backup- und Recoverymöglichkeiten stark: Die Mailboxen<br />
werden als gewöhnliche Verzeichnisse im Dateisystem des Kolab-Servers abgebildet<br />
und sind somit mit üblichen dateisystembasierten Backupwerkzeugen handhabbar.<br />
Neben kompletten Mailboxen können mit denselben Backupwerkzeugen auch einzelne<br />
E-Mails, Termine etc. gesichert und wiederhergestellt werden, da sie als einzelne<br />
gewöhnliche Dateien abgelegt werden.<br />
Neuerungen bei Kolab 2 sind u. a.:<br />
� die Möglichkeit für Mehrfachstandorte (Multilokationsfähigkeit)<br />
� die explizite Vergabe von Zugriffsrechten<br />
� die gemeinsame Bearbeitungsmöglichkeit für Verzeichnisse<br />
� die volle Mehrkontenfähigkeit<br />
� die automatische Annahme von Terminen<br />
� einfachere Integration externer Verzeichnisdienste (LDAP)<br />
Seite 326
� Verwaltung mehrerer Maildomänen (ab 2.1)<br />
� Horde-Framework als Standard Webclient (optional ab 2.1, fest integriert ab 2.2)<br />
Der Zugriff auf Kolabs Mail- und Groupware-Funktionalitäten kann sowohl unter<br />
Windows- als auch unter Linux erfolgen: unter Linux ist die Referenz-Clientsoftware<br />
Kontact, unter Windows wurde bei Kolab 1 Outlook 2000 mit Kolab-Plugin als Referenz-<br />
Client verwendet, bei Kolab 2 ist es Outlook 2003. Zudem werden andere Client-<br />
Applikationen, wie z. B. Mozilla Thunderbird, zunehmend zu vollwertigen Kolab-Clients<br />
ausgebaut.<br />
Für Kolab-Installationen hat sich der seit Oktober 2003 am Markt befindliche Toltec<br />
Connector der Firma Radley Network Technologies CCs 288 bewährt. Der Toltec<br />
Connector ist ein kostenpflichtiges proprietäres Produkt und muss zusätzlich zu Outlook<br />
installiert werden. Der Connector ermöglicht einem Outlook-Client 289 , seine Daten auf<br />
einem Kolab-Server zu speichern. Es stehen auf dem Markt auch noch andere<br />
Connectoren 290 zur Verfügung, diese wurden jedoch im Rahmen der Evaluierung nicht<br />
gesondert betrachtet. Ebenfalls von der Firma Toltec angeboten wird ein LDAP-<br />
Adressbuch für Outlook, das z. B. auf den jeweiligen OpenLDAP-Server von Kolab zugreifen<br />
kann.<br />
Für den Zugriff auf die Groupware-Funktionalitäten steht den Nutzern von linuxbasierten<br />
Arbeitsplätzen der Kontact Client zur Verfügung. Dieser Linux-Client ist eine verbesserte<br />
und erweiterte <strong>Version</strong> von KDEs Kontact, der die Möglichkeiten von KMail, KOrganizer,<br />
KAddressbook und weiteren Komponenten des KDE-PIM-Projektes unter einer einheitlichen<br />
grafischen Oberfläche zusammenfasst. Der Client fügt sich sehr gut in die KDE-<br />
Oberfläche ein und ist von Nutzern intuitiv zu bedienen. Kontact unterstützt u.a. die Protokolle<br />
POP3 und disconnected IMAP4. Unterstützt wird auch das Filtern eingehender E-<br />
Mails (Spam, Viren usw.) auf der Clientseite. Darüber hinaus wird seit März 2007 verstärkt<br />
an einer browserbasierten Clientanwendung gearbeitet, die auf das Horde-<br />
Framework 291 aufsetzt und zukünftig (ab <strong>Version</strong> 2.2) als Standard Kolab Webclient eingesetzt<br />
werden soll.<br />
Neben dem Kolab-Webclient existiert auch eine webbasierte Administrations-Oberfläche,<br />
die folgende Aktionen bereitstellt:<br />
� Nutzer- und globale Adressbuchverwaltung<br />
� Verwaltung der öffentlicher Ordner<br />
� Verwaltung der Ressourcen- und Gruppenkonten<br />
288 http://www.toltec.co.za/<br />
289 Laut Hersteller Outlook 2000,, XP, 2003 und 2007<br />
290 KONSEC Konnektor (http://www.konsec.com/),<br />
Bynari Insight Connector (http://www.bynari.net/)<br />
291 http://www.horde.org/<br />
Seite 327
� Teilweise Administration der Serverdienste<br />
� Abwesenheitsbenachrichtigungen und Weiterleitungen<br />
Die webbasierte Administrations-Oberfläche stellt in erster Linie Funktion für den Zugriff<br />
auf wiederkehrende Aufgaben (z. B. Nutzer anlegen) bereit, weitergehende Anpassungen<br />
müssen direkt an den entsprechenden Server-Komponenten vorgenommen werden.<br />
Hier verfolgt die Kolab-Architektur einen zweischichtigen Ansatz, der zum einen einzelne<br />
Funktion zu einer Aktivität vereint, aber gleichzeitig die Mächtigkeit jedes einzelnen Systems<br />
darüber hinaus bereitstellt.<br />
Der einzelne Benutzer hat überdies auch die Möglichkeit, bestimmte Änderungen direkt<br />
über die webbasierte Administrations-Oberfläche vorzunehmen. So können die Benutzer<br />
ihre persönlichen Daten modifizieren und beispielsweise zusätzliche Mail-Adressen (sog.<br />
Mail-Aliases) hinzufügen.<br />
Die folgende Auflistung benennt die wichtigsten Funktionalitäten der Groupware-Lösung:<br />
� E-Mails empfangen und senden<br />
� Kontaktverwaltung<br />
� Rechtevergabe auf IMAP-Ordnern (IMAP-ACLs)<br />
� Gemeinsame Bearbeitung von freigegebenen Ordnern mit z. B. E-Mails,<br />
Terminen, Kontakten, Aufgaben etc.<br />
� Globale Adressbücher<br />
� Gruppenkalender und –termine<br />
� Gruppenordner („Shared Folders―)<br />
� Ressourcenverwaltung (Buchung von Räumen, Beamer, Fahrzeugen etc.)<br />
� Persönliche Notizen und Aufgaben (die auch gemeinsam nutzbar sind)<br />
� Frei- / Belegt-Listen (FreeBusy-Lists)<br />
� Erweiterte Frei- / Belegt-Listen (XFB)<br />
� Weiterleitungen in andere Postfächer<br />
� Abwesenheitsbenachrichtigungen<br />
� Funktionspostfächer mit mehreren unterschiedlich Zugriffsberechtigten<br />
� Lesebestätigungen<br />
� PDA-Synchronisation via PIM-Client<br />
� Volle Offlinefähigkeit der Clients durch Kolab-Design gegeben<br />
Mit dem Kolab Format existiert für das Groupwaresystem ein offenes Austauschformat,<br />
das es erlaubt, verschiedene sog. Kolab-Objekte (Notizen, Adressen etc.) zu beschreiben<br />
und diese im Kolab-IMAP-Server abzulegen. Die oben genannten Konnektoren nutzen<br />
dieses Format zur Kommunikation mit dem Server.<br />
Seite 328
Auf die Integration von Sicherheitsstandards wurde bei der Entwicklung besonderer Wert<br />
gelegt. Die Kommunikation zwischen den Client-Systemen und dem Server kann vollständig<br />
verschlüsselt (SSL/ TLS) geschehen. Die verschlüsselte Kommunikation kann<br />
u.a. mittels der Protokolle<br />
� IMAPS<br />
� SMTP über TLS und<br />
� HTTPS<br />
realisiert werden. Der Linux-Client unterstützt die Ende-zu-Ende-Sicherheit sowie elektronische<br />
Signaturen auf Basis internationaler Standards (S/MIME, X.509v3), die Implementierung<br />
Ägypten 292 ist vom BSI erfolgreich auf Interoperabilität 293 getestet worden.<br />
Für die administrativen Belange sind drei spezielle Nutzergruppen mit besonderen Rechten<br />
vorgesehen. Es wird zwischen folgenden Gruppen unterschieden:<br />
� Administratoren<br />
� Maintainer<br />
� User (Benutzer)<br />
Die Administration kann - entsprechend der unterschiedlichen Berechtigungen - über die<br />
Verwendung der webbasierten Administrationsoberfläche erfolgen. Einfache administrative<br />
Aufgaben können mittels des Web-Frontends realisiert werden, bei komplexen<br />
Tätigkeiten sind die entsprechenden Konfigurationsdateien auf dem Kolab-Server<br />
anzupassen.<br />
Damit kann zusammenfassend festgestellt werden, dass Kolab eine plattformübergreifende<br />
Groupware-Lösung ist, die mit der Outlook/Exchange-Kombination von Microsoft<br />
vergleichbar ist. Der Aufbau der Kolab-Architektur basiert auf ausgereiften Einzelkomponenten<br />
wie zum Beispiel Cyrus-IMAP oder Apache-Webserver, was auf eine hohe Skalierbarkeit<br />
des Gesamtsystems schließen lässt. Für den Austausch zwischen Client und<br />
Server existiert neben Standardprotokollen wie HTTP, LDAP, IMAP auch ein offenes<br />
Austauschformat, das es erlaubt, verschiedene PIM-Clientapplikationen (u. U. per Konnektor)<br />
mit dem Kolab-Groupwaresystem zu verbinden.<br />
1.6 Scalix<br />
Scalix ist eine Groupware- und Messaging-Plattform, die ursprünglich von der Scalix<br />
Corporation in Kalifornien entwickelt wurde. Im Juli 2007 kaufte XANDROS, ein kanadisches<br />
Unternehmen, Scalix. XANDROS gehört zu den größten Unternehmen für linuxbasierte<br />
Email-, Kalender- und Messaging-Software.<br />
Das System wird derzeit von mehr als 670 Unternehmen in mehr als 55 Ländern genutzt<br />
294 . Aktuell liegt Scalix in der <strong>Version</strong> 11.0.4 vom 3.5.2007 vor. Die Release Notes<br />
zur aktuellen <strong>Version</strong> sind im Web abrufbar 295 .<br />
292 Ägypten: http://www.gnupg.org/aegypten/index.de.html<br />
293 Sphinx-Interoperabilitätstests:<br />
http://www.bsi.bund.de/fachthem/verwpki/interoptests/testberichte.htm<br />
294 http://www.scalix.com/about/<br />
Seite 329
Scalix liegt in drei Editionen vor:<br />
� Enterprise Edition,<br />
� Small Business Edition,<br />
� Community Edition.<br />
Die Enterprise Edition wird pro Benutzer mit einem Mindestvolumen von 25 Benutzern<br />
lizenziert. Die Small Business Edition umfasst standardmäßig 50 Benutzer, kann aber in<br />
25er Schritten erweitert werden. Die Community Edition kann mit max. 25 Benutzern zu<br />
Eignungstests genutzt werden. Die Funktionsunterschiede zwischen den einzelnen<br />
Editionen werden unten in einer Tabelle verglichen.<br />
Scalix steht auch innerhalb von integrierten Server-Lösungen zur Verfügung.<br />
Mit „Scalix für UCS" bietet Univention das Groupwaresystem Scalix als optional installierbare<br />
Komponente für die Linux Komplettlösung Univention Corporate Server an.<br />
Der auf Open-Source-Komponenten aufgebaute „open-sbs― Small Business Server ist<br />
eine softwarebasierte Out-of-the-Box-Server-Lösung. Er ist speziell auf kleine Firmen<br />
und Büros mit wenigen Arbeitsplätzen ausgerichtet und wendet sich an dort tätige Netzwerk-Administratoren<br />
oder den betreuenden IT-Dienstleister. Mit open-sbs steht durch<br />
die Kombination mit Scalix eine preisgünstige Alternative zu einem Microsoft Exchange<br />
Server mit mehr Funktionalität zur Verfügung. Der open-sbs bietet unter anderem eine<br />
integrierte Firewall, Viren-Sicherheit, lernenden Spam-Schutz, VPN, Fernzugriff und automatisierte<br />
Sicherheits-Updates. Die Installation ist automatisiert - in wenigen Minuten<br />
soll der Server startbereit aufgesetzt sein.<br />
Scalix verwendet einen selbstentwickelten Server-Kern, der aus den Elementen<br />
Message Store, Directory und Routing besteht. Der Message Store basiert auf einer<br />
Standard-Linux-Filesystemstruktur, skaliert bis in den Terabyte-Bereich und kann auf<br />
Basis jedes Linux-Filesystems sowie auf Raids oder logischen Volumes angelegt<br />
werden. Dabei wird jede Nachricht ungeachtet der Zahl der Empfänger nur einmal<br />
gespeichert. Große Attachments, die an mehrere User verschickt werden, nehmen somit<br />
nur einfachen Speicherplatz in Anspruch. Der Verzeichnisdienst ist ebenfalls eine<br />
Eigenentwicklung, der nach außen über eine LDAP-Schnittstelle verfügbar gemacht<br />
wird. Der Router basiert auf dem X.400-Standard, verarbeitet aber auch andere<br />
Adressformate. Das Internet-Gateway lässt eine Konvertierung der Nachrichten in<br />
MIME- und TNEF-Format zu, letzteres spielt vor allem bei der Querverbindung mit MS-<br />
Exchange eine Rolle, da hier Nachrichten mit allen Sondermerkmalen ausgetauscht<br />
werden können.<br />
295 http://downloads.scalix.com/.community/11.0.4/RELEASE_NOTES.html<br />
Seite 330
Abbildung 36: Scalix-Plattform<br />
Eine laufende Scalix-Instanz nimmt ohne angemeldete Benutzer etwa 30 MB RAM in<br />
Anspruch. Die Grundanforderungen an die Hardware sind moderat, ein 2-CPU-Intel-<br />
System mit 2 GB RAM ist im Regelfall für 5000 Benutzer ausreichend.<br />
Als Betriebssystemplattform wird ausschließlich Linux verwendet, dabei werden die<br />
Distributionen von RedHat und Suse auf i386- und zSeries-Plattformen unterstützt:<br />
� Red Hat Enterprise Linux ES<br />
� SUSE Linux Enterprise Server<br />
� Fedora Core<br />
� SUSE Linux<br />
Scalix unterstützt auf der Windows-Plattform den Outlook-Client von Microsoft (2000,<br />
XP, 2003) in deutscher und englischer Sprache. Die MAPI-Anbindung ist dabei eine im<br />
„Workgroup―-Modus laufende Online-MAPI; eine lokale Datenspeicherung auf dem<br />
Client findet nicht statt. Die Funktionalität der Offline-Arbeiten kann jedoch eingerichtet<br />
werden. Regeln und Abwesenheitsbenachrichtigungen werden auf dem Client eingerichtet<br />
und serverseitig ausgeführt. Besprechungsplanungen mit Frei/Belegt-Funktion, automatisches<br />
Buchen von Ressourcen, Zugriff auf fremde Mailboxen über Delegation sowie<br />
die Rechtevergabe auf private und öffentliche Ordner werden analog zu Microsoft Exchange<br />
gehandhabt, lediglich serverbasierte Formulare werden nicht unterstützt. Das<br />
„Look & Feel― von Outlook im Zusammenspiel mit Exchange wird dabei weitestgehend<br />
beibehalten.<br />
Scalix bietet weiterhin einen eigenen Webclient an. Dieser verfügt über Drop-Down-<br />
Menüs, Drag-und-Drop-Funktionalität und eine Darstellung, die an eine echte Windows-<br />
Applikation erinnert. Dabei kommen in „Scalix Web Access― (SWA) lediglich JavaScript<br />
und dynamisches HTML (DHTML) zum Einsatz. Technologien wie Java-Applets oder<br />
ActiveX-Elemente werden nicht eingesetzt, sodass der Webclient auch in sicheren<br />
Netzwerkumgebungen und im Zusammenhang mit Firewalls eingesetzt werden kann.<br />
Als Browser werden Internet Explorer und Mozilla beziehungsweise Firefox auf den<br />
Client-Plattformen Windows, Linux und Apple Mac OS/X unterstützt.<br />
Seite 331
Standard POP/IMAP-Clients wie Mozilla Thunderbird, Outlook Express oder Ximian<br />
Evolution können ebenfalls angebunden werden, das Adressbuch wird dabei über LDAP<br />
angesprochen.<br />
Scalix Enterprise Edition unterstützt alle führenden Anbieter von drahtlosen Endgeräten<br />
über optionale Lösungen von Drittanbietern. Die Software NotifyLink der Firma Notify<br />
Technology Corporation ermöglicht Nutzern den Zugriff auf alle Scalix Email und PIM<br />
Funktionen (Kalender, Kontakte, Aufgaben und Notizen) über drahtlose Technologie an,<br />
zum Beispiel Palm OS, Windows Mobile Geräte und Blackberrys 296 .<br />
Abbildung 37: Scalix-Clientsysteme 297<br />
PDAs und Handhelds können derzeit über den Outlook-Client angebunden werden. Für<br />
die Blackberry-Plattform steht in Zusammenarbeit mit Drittherstellern eine serverbasierte<br />
Anbindung zur Verfügung. Die nachfolgende Abbildung zeigt einen Funktionsüberblick<br />
über die drei verfügbaren Editionen:<br />
296 http://www.scalix.com/documents/Scalix_DS_Enterprise_v3.pdf<br />
297 http://www.scalix.com/enterprise/products/architecture.php<br />
Seite 332
Abbildung 38: Scalix – <strong>Version</strong>en/Funktionsüberblick 298<br />
Eine rollenbasierte Administration ermöglicht das sichere Delegieren von Verwaltungsaufgaben<br />
an andere Benutzer mit vordefinierten Administrationsrechten. Diese erfolgt<br />
über die Scalix Management Console, die eine Benutzeroberfläche für die System- und<br />
Benutzerverwaltung anbietet. Sie verbindet die Möglichkeiten einer intuitiven grafischen<br />
Oberfläche mit dem Komfort eines Webbrowsers, der jederzeit und überall verfügbar ist.<br />
Die AJAX-basierte Management Console ermöglicht Mailadministratoren die Verwaltung<br />
von Serverprozessen, Nachrichtenwarteschlangen und Standardeinstellungen bis hin zur<br />
Überwachung des Message Store, der Konfiguration von Postfächern und Kennwortrichtlinien.<br />
Ebenfalls integriert sind die Überwachung des Systemstatus' sowie die Erstellung<br />
von Aktivitäts- und Fehlerprotokollen.<br />
Neben der Benutzeroberfläche stehen bei Bedarf alle Verwaltungsaufgaben über eine<br />
Befehlszeilenschnittstelle zur Verfügung. Hierfür werden 250 Befehlszeilen-Skripte angeboten.<br />
Die Kommunikation zwischen den Clients und dem Server kann vollständig verschlüsselt<br />
(SSL/TSL) erfolgen. Die verschlüsselte Kommunikation kann mittels der Protokolle<br />
IMAPS, LDAPS und POP3S realisiert werden.<br />
Der Scalix Mail Server lässt sich mit jedem LDAP-basierten Verzeichnis integrieren, zum<br />
Beispiel mit Microsoft Active Directory, Novell eDirectory, RedHat/Fedora Directory<br />
Server, OpenLDAP und anderen. Eine Integration mit anderen Systemen ist über<br />
Management Services - SOAP-basierte APIs möglich, über die andere Anwendungen<br />
Funktionen im Scalix-Produkt aufrufen können.<br />
298 http://de.scalix.com/enterprise/editions/compare.php<br />
Seite 333
Abbildung 39: Scalix- Integration<br />
Zusammenfassend ist festzuhalten: Durch die in der Enterprise Edition verfügbare Möglichkeit,<br />
das System auf mehreren Servern zu betreiben, zeichnet sich Scalix durch eine<br />
große Skalierbarkeit (mehr als 10000 User pro Server möglich) aus. Das Konzept<br />
„Clients of Choice― ermöglicht die gleichzeitige Anbindung verschiedener Arbeitsplatztypen.<br />
Die SOAP-basierten APIs bieten zusätzliche Möglichkeiten, das Produkt mit bestehenden<br />
Infrastrukturen zu integrieren. Vorteilhaft ist ebenfalls die mögliche Koexistenz<br />
mit Exchange durch die Konvertierungsmöglichkeiten des Internet-Gateways.<br />
1.7 Microsoft Exchange Server 2007<br />
Der Microsoft Exchange Server 2007 blickt auf eine Reihe von Entwicklungsschritten in<br />
der Vergangenheit zurück. Die erste <strong>Version</strong>, Exchange Server 4.0, erschien 1996 als<br />
Nachfolger von Microsoft Mail (<strong>Version</strong> 3.5). In der Folge erschienen Exchange Server<br />
5.0 (1997), Exchange Server 5.5 (1998), Exchange Server 2000 und Exchange Server<br />
2003. Dieser ist die Vorgängerversion der aktuellen <strong>Version</strong>, Exchange Server 2007.<br />
Der Microsoft Exchange Server besitzt in seinem Marktsegment einen Marktanteil von<br />
ca. 34 % 299 . Ein Exchange Server kann entweder direkt über Microsoft lizensiert und<br />
eigenständig eingerichtet oder aber als Dienst über einen Drittanbieter lizenziert und<br />
bereitgestellt werden.<br />
Von Microsoft wird Exchange nach dem Server / Client Access License (CAL) Modell<br />
vertrieben. Danach wird für jedes Betriebssystem mit installiertem Exchange Server eine<br />
eigene Serverlizenz benötigt. Zusätzlich wird für jeden Benutzer des Exchange Servers<br />
eine eigene CAL benötigt.<br />
299 The Radicati Group, Inc.'s latest study, ―Microsoft Exchange Server and Outlook Analysis,<br />
2007-2011"<br />
Seite 334
Serverlizenzen für Exchange Server 2007 gibt es in zwei verschiedenen Varianten:<br />
� Standard Edition<br />
Diese unterstützt einen Exchange Cluster mit bis zu fünf Knoten<br />
� Enterprise Edition.<br />
Diese unterstützt bis zu 50 Knoten<br />
Ebenso gibt es auch die CAL in zwei <strong>Version</strong>en:<br />
� Standard CAL<br />
Hierin sind die Standfunktionen Email, Kalender, Kontaktverwaltung, Aufgabenverwaltung,<br />
Journalführung, Notizen, Outlook Web Access und Exchange ActiveSync<br />
enthalten.<br />
� Enterprise CAL.<br />
Diese enthält neben den Standardfeatures noch zusätzliche Dienste wie etwa<br />
das Unified Messaging zum Empfangen und Versenden von Sprachnachrichten<br />
oder Faxnachrichten.<br />
Alternativ kann Exchange auch in Form des Windows Small Business Server (SBS)<br />
Paketes erworben werden. Dieses beinhaltet sämtliche für den Betrieb von Exchange<br />
2007 notwendigen Microsoft Technologien.<br />
Rückblickend hat mit der <strong>Version</strong> 2000 ein grundlegender Wechsel in der Architektur des<br />
Exchange Servers stattgefunden. Seit der <strong>Version</strong> Exchange Server 2000 ist Active<br />
Directory ein fester Bestandteil jeder Installation. Gleichzeitig wurde in <strong>Version</strong> 2000<br />
erstmals die optionale Einrichtung von reinen Front-end Exchange Servern eingeführt,<br />
die verschiedene Aufgaben zur Reduktion der Last auf den Mailbox Servern übernehmen.<br />
In Exchange Server 2007 wurde diese Unterteilung des Servers in verschiedene Aufgaben<br />
auf nun insgesamt fünf modulare Serverrollen erweitert. Von dieser Aufteilung verspricht<br />
sich Microsoft eine Verbesserung in den Bereichen Installation, Management,<br />
Sicherheit und Skalierbarkeit einer Exchange Server Installation.<br />
In Exchange Server 2007 wurde ein Rollenkonzept mit fünf verschiedenen Rollen eingeführt,<br />
deren Zusammenspiel in Abbildung 40 gezeigt wird. Mit Ausnahme der Edge<br />
Transport Rolle können dabei alle Rollen auf dem gleichen Server installiert werden. Der<br />
Edge Transport Server überwacht als eine Art Türsteher den externen Datenverkehr und<br />
muss aus Sicherheitsgründen außerhalb des lokalen Netzwerkes installiert werden.<br />
Jeder Exchange Server in einem Cluster von Exchange Server erhält während der Installation<br />
eine oder mehrere der folgenden Rollen zugewiesen:<br />
� Client Access Rolle:<br />
Seine Aufgabe ist es, den Internet Traffic zu analysieren und an den korrekten<br />
Mailbox Server weiterzuleiten.<br />
� Mailbox Rolle:<br />
Server in dieser Rolle verwalten die Postfächer der Benutzer. Postfächer sind in<br />
Datenbanken gespeichert, die jederzeit repliziert oder geclustert werden können.<br />
Seite 335
� Hub Transport Rolle:<br />
Leistet das interne Routing aller Nachrichten, die von Edge- oder Unifed Messaging<br />
Servern innerhalb des gleichen Mailbox Servers gesendet werden.<br />
� Unified Messaging Rolle:<br />
Diese Rolle erlaubt die Integration von PBX 300 und damit den Versand von Fax<br />
und Sprachnachrichten an Exchange Postfächer.<br />
� Edge Transport Rolle:<br />
Server in dieser Rolle müssen außerhalb des Intranets eingerichtet werden. Ihre<br />
Aufgabe ist die Überwachung und Filterung des externen Datenverkehrs.<br />
Abbildung 40: Zusammenspiel der Server Rollen 301<br />
Exchange unterstützt die standardisierten Protokolle SMTP, POP3, IMAP und NNTP.<br />
Das Mail Application Programming Interface (MAPI) stellt eine umfangreiche Schnittstelle<br />
für Clients dar, um mit dem Exchange Server 2007 zu kommunizieren. Nur Clients,<br />
die die MAPI-Schnittstelle unterstützen, können den vollen Funktionsumfang von Exchange<br />
nutzen. Da diese Schnittstelle nicht vollständig offen gelegt ist, sind die einzigen<br />
voll kompatiblen Clients Microsoft-Produkte.<br />
Durch die Integration von HTTP können Dokumente in öffentlichen Ordnern über das<br />
Internet zugänglich gemacht werden. Komplexere Dokumenten-Management-<br />
Funktionen werden jedoch erst nach Anbindung einer Sharepoint Installation ermöglicht.<br />
Durch die Verwendung des Microsoft Internet Information Server (IIS) und des Exchange<br />
Servers 2007 können die Benutzer durch Outlook Web Access (OWA) auf Funktionalitäten<br />
zurückgreifen, die sonst nur mit dem Outlook-Client möglich wären. Die Nutzer können<br />
beispielsweise private und öffentliche Ordner einsehen, Emails versenden und empfangen<br />
und ihre Aufgaben verwalten. Der vollständige Funktionsumfang ist jedoch nur im<br />
Zusammenspiel mit dem Microsoft Internet Explorer nutzbar.<br />
300 Private Branch Exchanger<br />
301 Quelle: An Overview of Microsoft Exchange Server 2007, Microsoft White Paper,<br />
http://www.microsoft.com/exchange/evaluation/ex2007intro.mspx, letzter Zugriff:<br />
04.09.2007<br />
Seite 336
Aus Sicht des Nutzers stellt Exchange die folgenden Funktionalitäten zur Verfügung:<br />
� Empfang und Versand von Email-, Sprach- und Faxnachrichten<br />
� Aufgabenverwaltung<br />
� Terminverwaltung<br />
� Adresslisten (allgemeine Adressbücher und persönliche Kontakte)<br />
� Journalführung<br />
� Notizen.<br />
Der Zugriff wird ermöglicht durch:<br />
� Email Clients (z. B. Outlook, Thunderbird, Netscape, etc.)<br />
� Webzugriff per OWA<br />
� Mobiler Zugriff per Active Sync.<br />
Exchange Server 2007 nutzt das SMTP Protokoll zum Übermitteln von Nachrichten<br />
innerhalb einer Organisation. Der Nachrichtenaustausch zwischen den Servern wird<br />
standardmäßig per Transport Layer Security (TLS) verschlüsselt. Standardmäßig<br />
werden auch verschlüsselte Remote Procedure Calls (RPC) für Outlook Verbindungen<br />
verwendet. Die Kommunikation mit anderen Clients wird per Secure Sockets Layer<br />
(SSL) verschlüsselt. Als Authentifizierungsmechanismus kommt Kerberos zum Einsatz.<br />
Zum Schutz vor Viren, Phishing und Spam-Mails übernimmt der Edge Server eine<br />
wichtige Funktion, er kann Nachrichten schon vor Eintreten in das Organisationsnetz auf<br />
Spam oder Viren prüfen 302 . Hierfür setzt Microsoft das eigene Produkt ForeFront 303<br />
Security for Exchange Server (ForeFront) ein. Dieses kann auch auf Hub Transport<br />
Servern installiert und genutzt werden. ForeFront sieht die simultane Nutzung von bis zu<br />
fünf Scan-Engines vor. Zur Auswahl stehen hier Scan-Engines mehrerer Hersteller, die<br />
jedoch zusätzlich lizensiert werden müssen. Dies sind zum Beispiel für die Virenabwehr<br />
u.a. die Scan-Engines CA InoculateIT, CA Vet, Norman und Sophos 304<br />
Mit Hilfe eines Software Developer Kits können eigene Lösungen auf Exchange Server<br />
2007 Basis entwickelt werden. Microsoft bietet dazu einen Exchange-Namespace für<br />
das .NET Framework an, mit dessen Hilfe Exchange Funktionen in einer .NET Programmiersprache<br />
genutzt werden können. Mit Hilfe des SDKs ist auch die Anbindung<br />
externer Software an Microsoft Exchange möglich.<br />
Weiterhin bietet der Exchange Server 2007 eine Reihe von Standard-Webservices an,<br />
mit denen die Funktionalitäten von Exchange von einer beliebigen Applikation aus aufgerufen<br />
werden können.<br />
302 http://technet.microsoft.com/en-us/library/aa996551.aspx (Stand 01.11.2007)<br />
303 http://www.microsoft.com/technet/forefront/serversecurity/exchange/scanning/e25af7f6-<br />
8f6a-420a-8a8a-2360eec4c75a.mspx?mfr=true (Stand 01.11.2007)<br />
304 http://www.microsoft.com/antigen/prodinfo/antigen-faq.mspx (Stand 01.11.2007)<br />
Seite 337
Standardmäßig können Exchange und Outlook mit anderen Microsoft Produkten<br />
zusammenarbeiten. Beispiele dafür sind:<br />
� Die Windows Sharepoint Services (WSS <strong>3.0</strong>) bieten als kostenfreier Bestandteil<br />
des Windows Server 2003 Dokumenten-Management-Funktionalitäten auf Basis<br />
des IIS Servers an. Die Integration mit Sharepoint ermöglicht den Check-in und<br />
Check-out von Dokumenten in Sharepoint-Bibliotheken mit <strong>Version</strong>skontrolle.<br />
� In Form des Microsoft Office Sharepoint Server (MOSS) bietet Microsoft eine<br />
Lösung zur Erstellung umfangreicher Unternehmensportale an. Den Benutzern<br />
können hier Informationen des Exchange Servers auf personalisierten Webseiten<br />
zur Verfügung gestellt werden.<br />
� Seit der Exchange Server 2000 <strong>Version</strong> ist die Instant-Messaging-Komponente in<br />
ein eigenes Produkt ausgegliedert worden. Echtzeit-Kooperationsfunktionalität<br />
wird nun durch separate Installation des Office Live Communication Servers integriert.<br />
Zusammengefasst heißt das: Der Exchange Server 2007 ist einer der Marktführer in<br />
seinem Sektor. Er verfügt über wichtige Funktionen und besitzt in Form von Outlook<br />
einen leistungsfähigen Clienten. Per OWA präsentiert Exchange dem Nutzer auch ohne<br />
installierten Client seine persönlichen Daten komfortabel in einer Outlook-ähnlichen<br />
Oberfläche, die über einen Webbrowser erreicht und dargestellt wird. Zusammen mit der<br />
Möglichkeit des Zugriffs von mobilen Endgeräten aus, kommt Microsoft damit seinem<br />
Ziel des Anywhere Access sehr nah.<br />
Das Festhalten an geschlossenen eigenen Microsoft-Protokollen verhindert jedoch eine<br />
reibungslose Integration von Exchange mit Produkten außerhalb der Microsoft Welt. Die<br />
ausschließliche und enge Verflechtung mit anderen Microsoft Produkten macht im<br />
Gegenteil sogar oft von anderer Software des Herstellers abhängig. So ist zum Beispiel<br />
für den Einsatz von Exchange die Anschaffung eines Windows Server Betriebssystem<br />
unumgänglich.<br />
1.8 Lotus Notes<br />
Lotus Notes ist ein dokumentenorientiertes, verteiltes Datenbanksystem mit sehr enger<br />
E-Mail-Anbindung. Es wurde seit 1984 von Iris Associates entwickelt, einer späteren<br />
Tochterfirma der Lotus Development Corporation resp. von IBM. Das ursprünglich Lotus<br />
Notes genannte Produkt wurde auf Serverseite mit <strong>Version</strong> 4.5 umbenannt in Lotus<br />
Domino.<br />
Lediglich die Client-Software für Endnutzer (nicht jedoch jene für Entwickler und Administratoren)<br />
trägt noch den Namen Lotus Notes. Bei den Datenbanken findet sich sowohl<br />
die Bezeichnung Notes-Datenbank als auch Domino-Datenbank. In Kombination mit der<br />
Notes-Datenbank beziehungsweise dem neu veröffentlichten Produkt Quickr präsentiert<br />
es eine Kooperationsumgebung im Sinne der Teaming/Workgroup-Software Kategorie.<br />
Da der Notes Client im engeren Sinne aber ein Groupware/Messaging Produkt ist, wird<br />
es hier erwähnt. Etwa Mitte 2007 veröffentlichte IBM Notes in der <strong>Version</strong> 8, die nun auf<br />
der Eclipse Technology basiert.<br />
Seite 338
Die Funktionalität des Notes-Clients umfasst folgende Groupwareanwendungen:<br />
� Mail<br />
� Kalender<br />
� Kontakte<br />
� ToDo Listen<br />
� Instant Messaging/Presence (Sametime)<br />
Zusätzlich stehen Büroanwendungen (Präsentationen, Kalkulationen und Dokumente)<br />
zur Verfügung.<br />
Der Client wurde mit der neuen <strong>Version</strong> vollständig überarbeitet und steht sowohl als<br />
eigener Client als auch als Web-Client zur Verfügung. Neben der Interfaceüberarbeitung<br />
bietet die neue <strong>Version</strong> zwei Besonderheiten, auf die im Folgenden kurz eingegangen<br />
wird.<br />
Eine Besonderheit der neuen <strong>Version</strong> ist die Aktivitätsorientierung. Dazu stellt der Client<br />
eine Activity-Sidebar zur Verfügung, mit deren Hilfe der Benutzer Aktivitäten einrichten<br />
kann. Diesen Aktivitäten können dann andere Objekte der Notes Umgebung (Mails,<br />
Termine, Todos, Dokumente etc.) zugewiesen werden. Damit soll das persönliche Informationsmanagement<br />
vereinfacht werden.<br />
Abbildung 41: Notes Architektur<br />
Zur Integration mit anderen Anwendungen setzt IBM auf den offenen Standard des Eclipse<br />
Application Development Frameworks sowie einer komponentenbasierten Serviceorientierten<br />
Architektur. Damit können sogenannte Composite Applications entwickelt<br />
werden, die die Einbindung externer Anwendungsdaten in den Notes Client ermöglichen.<br />
Die vorhergehende Abbildung 41 aus dem Beta Reviewer‘s Guide illustriert das entsprechende<br />
Zusammenspiel des Notes Client mit dem WebSphere Portal und dem Domino<br />
Server.<br />
Seite 339
Mit der neuen <strong>Version</strong> 8 hat IBM der schon seit Jahren auf dem Markt befindlichen Notes<br />
Groupware ein neues Gesicht gegeben. Dabei wurde mit der Aktivitätsorientierung ein<br />
besonderes Merkmal eingeführt. Der mit dem Web 2.0 verbundene Trend zur Unterstützung<br />
von Mashups 305 wird mit dem Konzept der Composite Applications unterstützt. Seine<br />
volle Stärke zeigt Notes in Kombination mit Domino, da damit über das Messaging<br />
hinaus Kooperationsprozesse und Workflows unterstützt und automatisiert werden können.<br />
2 Migrationspfade<br />
Die im folgenden Kapitel untersuchten Migrationspfade beschränken sich auf ausgewählte<br />
Systeme und berücksichtigen verschiedene Aspekte einer Migration. Die untersuchten<br />
Migrationspfade sollen Möglichkeiten aufzeigen, wie zwischen verschiedenen<br />
Systemen (z. B. proprietären und OpenSource-Systemen), verschiedenen <strong>Version</strong>en<br />
eines einzelnen Systems und zwischen Systemen mit unterschiedlichen Benutzungsschnittstellen<br />
beziehungsweise -konzepten migriert werden kann.<br />
Jeder der folgenden Abschnitte beschreibt, wie zwischen verschiedenen Groupware-<br />
Systemen Daten ausgetauscht werden können und welche Hilfsmittel hierzu nötig sind.<br />
Der Fokus eines jeden Migrationspfades richtet sich auf das Aufzeigen möglicher<br />
Schnittstellen, die es erlauben, essentielle Informationseinheiten wie<br />
� E-Mails<br />
� Adressdaten<br />
� Kalenderinformationen<br />
effizient zwischen Systemen zu transferieren. Die aufgezeigten Migrationspfade zielen<br />
sowohl auf eine direkte Server- zu Servermigration als auch auf eine indirekte Migration<br />
mit Hilfe eines Clients wie zum Beispiel Outlook oder Kontact ab. Die indirekte Migration<br />
nutzt primär die vorhanden Clientanwendung für den Abgleich von Daten und wird insbesondere<br />
dann notwendig, sobald Informationseinheiten wie die oben aufgelisteten<br />
(z. B. Email oder Kontakte) lokal in der jeweiligen Anwendung gespeichert wurden. Die<br />
Frage, wann eine direkte beziehungsweise indirekte Migration gewählt werden sollte,<br />
hängt sowohl von der Anzahl an Nutzern als auch von der Verfügbarkeit an Zusatzsoftware<br />
ab. Ist die indirekte Migration für den einzelnen Nutzer leicht zu bewerkstelligen,<br />
sollte zwischen dem Aufwand einer direkten Migration, welche den Einsatz eines Experten<br />
mit sich zieht, und einer indirekten Migration, welche jeden Nutzer mit einbezieht,<br />
sorgfältig abgewogen werden. Ferner sollte bei einer Migration auch berücksichtigt werden,<br />
ob gewisse Daten weiterhin auf der Clientseite verbleiben oder in die neue Groupware<br />
überführt werden.<br />
2.1 Migration von MS Exchange 5.5/2003 nach Kolab 2<br />
Dieses Kapitel beschreibt die Migration von Microsoft-Exchange 5.5/2003 zu Kolab2.<br />
Aufgrund der teilweise großen Unterschiede der Exchange-<strong>Version</strong>en 5.5 und 2003 werden<br />
generelle Unterschiede in der Handhabung im Text angesprochen.<br />
305 Die Einbindung externer dynamischer Elemente in eine Webseite.<br />
Seite 340
Eine indirekte Migration via Client ist in diesem Migrationspfad möglich. Mit Hilfe von<br />
Konnektoren (siehe hierzu Kapitel III.A 1.5), die eine Verbindung zum Kolab-Server<br />
aufbauen, ist es möglich direkt aus der Clientanwendung wie zum Beispiel Outlook die<br />
Email-, Kontakt- und Kalenderdaten von Exchange 5.5/2003 nach Kolab 2 zu überführen.<br />
Dies schließt auch die optionale Migration lokaler Daten ein und ermöglicht<br />
darüber hinaus auch die Migration von Client zu Client (zum Beispiel von Outlook zu<br />
Kontact). Darüberhinaus eignet sich die OpenSource basierte und plattformunabhängige<br />
Anwendung „kdepimpi― 306 für den Transfer von einem System zum anderen.<br />
2.1.1 Migration der Adress- und Verzeichnisdaten<br />
Im Falle eines Windows Exchange Servers 2003 werden die Adress- und Verzeichnisdaten<br />
im Active Directory des Windows Server Betriebssystems verwaltet. Active Directory<br />
hat einen ähnlichen Aufbau wie LDAP. Microsoft bietet verschiedene Tools an, mit<br />
deren Hilfe Daten aus dem Active Directory exportiert und in den Kolab LDAP-Server<br />
integriert werden können. Das Kommandozeilen Tool LDIFDE ist hierbei hilfreich und<br />
exportiert die Daten aus dem Active Directory Server in das LDAP Data Interchange<br />
Format (LDIF), welches wiederum vom LDAP-Server importiert werden kann.<br />
Eine Extraktion der Daten aus Exchange kann alternativ mit Hilfe des Exchange Migration<br />
Wizards durchgeführt werden. Der Exchange Migration Wizard existiert seit Exchange<br />
2000 als separates Tool und erlaubt es, Daten einer alten Exchange Installation in<br />
einer Ordnerstruktur zu speichern. In der <strong>Version</strong> Exchange 5.5 ist es möglich, den<br />
LDAP-Dienst direkt zu aktivieren, sodass per LDAP Adress- und Verzeichnisdaten ausgelesen<br />
werden können 307 .<br />
Auf Basis des LDIF-Formates können die Adress- und Verzeichnisdaten in die Systemkomponente<br />
OpenLDAP des Kolab-Servers übernommen werden. Das offene Format<br />
der LDIF-Spezifikation erlaubt es zudem, die Daten vor der Migration in das Zielsystem<br />
zu bearbeiten. Aufgrund der nachvollziehbaren Struktur des Formates ist sowohl eine<br />
manuelle als auch automatische Modifikation der Daten möglich.<br />
Die Migration hin zum Kolab LDAP-Server kann mit verschiedenen Anwendungen und<br />
Benutzungsschnittstellen erfolgen. Neben den Standardtools des OpenLDAP-Servers<br />
existieren Desktop-Anwendungen wie zum Beispiel der javabasierte JXPlorer 308 und<br />
auch webbasierte Lösungen wie zum Beispiel „phpLDAPadmin― 309 , die neben Im- und<br />
Export des LDIF-Formates auch eine Administration des OpenLDAP-Servers erlauben.<br />
Hierbei ist anzumerken, dass für die webbasierte Lösungen meist ein eigens eingerichteter<br />
Webserver betrieben werden muss. Die Struktur eines LDAP-Verzeichnisses ist individuell<br />
anpassbar und kann durch den Einsatz von Schemata auf organisationsspezifische<br />
Bedürfnisse zugeschnitten werden. Aufgrund der flexiblen Struktur eines<br />
LDAP-Verzeichnisses sollte im Vorfeld einer Migration im Einzelfall analysiert werden,<br />
welche Attribute und Eigenschaften des Verzeichnisses angepasst werden müssen, um<br />
die semantischen Zusammenhänge des Verzeichnisses beizubehalten.<br />
306<br />
http://sourceforge.net/project/showfiles.php?group_id=104103<br />
307<br />
http://www.selfadsi.de/att55mbx.htm<br />
308<br />
309<br />
http://www.jxplorer.org/<br />
http://phpldapadmin.sourceforge.net/<br />
Seite 341
Für die Migration von Kontaktdaten, die direkt in der Client-Anwendung gespeichert werden,<br />
bestehen für Adressdaten ebenfalls Standardformate (zum Beispiel vCard-Format),<br />
die zwischen verschiedenen Anwendungen ausgetauscht werden können. Darüberhinaus<br />
sei hier auf die o.g. Möglichkeit des Einsatzes von Konnektoren verwiesen.<br />
2.1.2 Migration von E-Mail<br />
Die Synchronisation der E-Mail-Daten kann sowohl auf der Client- als auch auf der<br />
Serverseite erfolgen. Besonders bei der vorherigen Benutzung des POP3-Protokolls<br />
bietet sich eine clientseitige Nutzung des eigenen E-Mail-Programms (zum Beispiel<br />
Outlook) an, um gegebenenfalls alle Nachrichten auf den IMAP-Server zu migrieren. Für<br />
eine server-seitige Synchronisierung via IMAP bietet sich das Kommandozeilenprogramm<br />
„imapsync― 310 an, welches zwei verschiedene IMAP-Konten miteinander<br />
synchronisieren kann. Lösungen für die serverseitige Synchronisierung wie zum Beispiel<br />
imapsync setzen allerdings voraus, dass die jeweiligen Nutzerdaten für die Migrationsmaßnahme<br />
bereitgestellt werden. Überdies kann es auch vorkommen, dass der Mail-<br />
Status (z. B. gelesen, ungelesen) nicht immer mitgesichert wird.<br />
Zur Extraktion der E-Mail Postfächer kann ebenfalls der o. g. Migration Wizard genutzt<br />
werden. Eine weitere Alternative besteht in der Nutzung des Microsoft Werkzeuges<br />
ExMerge zusammen mit dem Tool Readpst 311 . Mit Hilfe von ExMerge können serverseitig<br />
komplette Postfächer in PST Dateien gespeichert werden. Readpst konvertiert<br />
diese in das mbox-Format, die IMAP-Komponente von Kolab kann dieses Format<br />
nutzen, um die Daten in die einzelnen Postfächer zu überführen.<br />
Neben den hier beschriebenen Ansätzen zur Migration zwischen MS-Exchange und Kolab2<br />
bietet die Firma Toltec ein Migrations-Tool 312 an, welches E-Mail, Kalender, Kontakte<br />
und andere Daten zwischen MS-Exchange und Kolab2 migrieren kann.<br />
2.1.3 Migration der Kalender<br />
Die Webschnittstelle des Kolab-Servers (Horde/Kronolith) bietet über eine Export/Import<br />
Funktion die Möglichkeit, Kalenderinformationen direkt in das System zu überführen.<br />
Hierfür kann das verbreitete Datenformat iCalendar benutzt werden, welches von vielen<br />
Clientanwendungen (zum Beispiel Outlook) als Exportformat angeboten wird. Ebenfalls<br />
bietet Outlook in der Kombination mit den erwähnten Konnektoren (siehe Kapitel III.A<br />
1.5) die Möglichkeit, Kalenderdaten manuell zwischen zwei Servern auszutauschen und<br />
so ein explizites im- beziehungsweise exportieren zu umgehen.<br />
2.1.4 Fazit<br />
Zusammenfassend lässt sich festhalten: Das Kommandozeilenprogramm „imapsync― ist<br />
relativ einfach in eigenentwickelte Skripte zu integrieren, was einen hohen Grad an Automatisierung<br />
zulässt.<br />
Ähnliches gilt für die Synchronisation von Adress- und Verzeichnisdaten. Hier ist es<br />
möglich, mit Hilfe eines grafischen Webclients die Daten zentral in das jeweilige Aus-<br />
310 http://www.linux-france.org/prj/imapsync/README<br />
311 http://alioth.debian.org/projects/libpst/<br />
312 http://www.toltec.co.za/migration.html<br />
Seite 342
tauschformat zu übertragen. Bei der hier beschriebenen Migration ist die Referenz für<br />
beide Systeme der Outlook-Client. Hierbei sollte jedoch beachtet werden, dass sich der<br />
Einsatz von Outlook ohne Verwendung von Zusatzsoftware lediglich auf den Abruf von<br />
E-Mail-Daten via IMAP-Protokoll beschränkt. Eine volle Ausschöpfung der bereitgestellten<br />
Funktion des Kolab-Servers ist erst unter Verwendung der in Kapitel III.A 1.5<br />
erwähnten Konnektoren möglich. Ferner ist der Einsatz eigener Formulare innerhalb des<br />
Outlook-Clients nicht mehr möglich. Bezüglich der Zusatzsoftware kann im Leitfaden<br />
keine generelle Aussage getroffen werden, dies ist im Einzelfall zu prüfen.<br />
2.2 Migration von Kolab 2 nach MS Exchange 2007<br />
Dieser Abschnitt beschreibt die Migration von Kolab2 zu Exchange 2007. Äquivalent zu<br />
der oben beschriebenen indirekten Migration besteht auch hier die Möglichkeit, mit Hilfe<br />
von Konnektoren (siehe hierzu Kapitel III.A 1.5), Email, Kontakt- und Kalender-Daten<br />
relativ einfach von Kolab 2 nach MS Exchange 2007 zu überführen.<br />
2.2.1 Migration der Adress- und Verzeichnisdaten<br />
Vergleichbar der Migration von MS-Exchange 5.5/2003 zu Kolab 2 kann für die Migration<br />
auf MS-Exchange 2007 ebenfalls auf das LDIF-Format zurückgegriffen werden. Die<br />
Standardtools des OpenLDAP-Servers und insbesondere die bereits erwähnte Desktop-<br />
beziehungsweise Webanwendungen „JXplorer― beziehungsweise „phpLDAPadmin― (siehe<br />
oben) können für den Export der Adress- und Verzeichnisdaten genutzt werden. Die<br />
Struktur des LDAP-Verzeichnisses des Kolab-Servers muss durch eine Transformation<br />
der Verzeichnis-zusammenhänge auf das Schema des Exchange Servers angepasst<br />
werden.<br />
Darüber hinaus besteht die Möglichkeit, lokal gespeicherte Adressdaten via Konnektor<br />
oder mit Hilfe des vCard-Formats auf der Clientseite zu exportieren. Mit Hilfe des Werkzeuges<br />
LDIFDE können diese Daten in das Active Directory des Windows Servers geschrieben<br />
und damit von Exchange 2007 genutzt werden.<br />
2.2.2 Migration von E-Mail<br />
Die Migration der E-Mail-Daten kann sowohl auf der Client- als auch auf der Serverseite<br />
erfolgen. Neben der Möglichkeit einer indirekten Migration mit Hilfe eins Clients (zum<br />
Beispiel Outlook oder Kontact) ist es auch möglich, eine serverseitige Synchronisierung<br />
via IMAP durchzuführen. Hierfür bietet sich ebenfalls das (siehe Abschnitt III.A 2.1.2)<br />
Kommandozeilenprogramm „imapsync― 313 an, welches zwei verschiedene IMAP-Konten<br />
miteinander synchronisieren kann. Für diese Art der Synchronisierung muss der MS-<br />
Exchange-Server gewährleisten, dass auf die E-Mailaccounts mittels IMAP-Protokoll<br />
zugegriffen werden kann.<br />
Eine andere Methode besteht darin, die im MBOX Format vorliegenden Postfächer des<br />
Kolab Servers in PST (Personal Storage Table) Dateien zu konvertieren. Diese können<br />
mit Hilfe von ExMerge oder des Exchange Migration Wizards in Exchange 2007 verfügbar<br />
gemacht werden. Für diesen Arbeitsschritt existieren verschiedene kostenfreie oder<br />
313 http://www.linux-france.org/prj/imapsync/README<br />
Seite 343
kostenpflichtige Werkzeuge 314 , von denen jedoch einige zunächst in das Zwischenformat<br />
EML (Outlook Express Electronic Mail) zu konvertieren sind. Diese Methode ist insbesondere<br />
dann interessant, wenn eine große Anzahl an Postfächern migriert werden<br />
muss.<br />
2.2.3 Migration der Kalender<br />
Über die Webschnittstelle des Kolab-Servers (Horde/Kronolith) können Nutzer- und<br />
Gruppenspezifische Kalender über eine Export Funktion mit Hilfe des iCalendar-Formats<br />
direkt in andere Anwendungen überführt werden. Ebenso eignet sich der Einsatz von<br />
Konnektoren (zum Beispiel der Toltec-Connector) zum Transferieren der Kalenderdaten<br />
zum Beispiel via Outlook von Kolab nach MS-Exchange 2007.<br />
2.2.4 Fazit<br />
Zusammenfassend ist zu bemerken: Der Aufwand der Migration hängt stark von der Art<br />
der zu migrierenden Daten ab. So lässt sich beispielsweise das Kommandozeilenprogramm<br />
„imapsync― relativ einfach in eigenentwickelte Skripte integrieren, die einen<br />
höheren Grad an Automatisierung zulassen. Der Aufwand für die Synchronisation von<br />
Adress- und Verzeichnisdaten ist abhängig vom Grad der Anpassung des LDAP-<br />
Verzeichnisses und der damit verbundenen Transformation. Mit Hilfe diverser Clientanwendungen<br />
ist es möglich, die Daten zentral in das jeweilige System zu übertragen<br />
und somit den Prozess vor und nach der Transformation zu vereinfachen. Manueller<br />
Aufwand ist auch bei der Migration der Kalenderdaten zu bedenken. Dieser ist aber von<br />
der Anzahl der Kalender abhängig, die im Kolab-Server verwaltet werden. Alternativ<br />
können auch hier Client- beziehungsweise nutzerbasierte Migrationsszenarien (zum Beispiel<br />
via Outlook und integriertem Konnektor) den Aufwand minimieren.<br />
2.3 Migration von MS Exchange 5.5 nach MS Exchange 2007<br />
Da die <strong>Version</strong>en Exchange 5.5, Exchange 2000, Exchange 2003 und Exchange 2007<br />
jeweils auf Basis der vorherigen <strong>Version</strong> entwickelt wurden, besteht neben der Möglichkeit<br />
einer Migration auch die Möglichkeit der Transition. Eine Transition entspricht dabei<br />
einem Upgrade einer existierenden Exchange Organisation auf eine neuere <strong>Version</strong>.<br />
Eine Migration liegt vor, wenn von einer existierenden auf eine neue Exchange Organisation<br />
gewechselt wird, ohne die bisherigen Konfigurationsdaten der existierenden Exchange<br />
Installation zu verwenden. Dieses Szenario tritt häufig bei der Zusammenführung<br />
zweier bislang getrennt agierender Installationen auf.<br />
Allgemein ist es nicht möglich, eine direkte Transition oder Migration von Exchange 5.5<br />
auf Exchange 2007 vorzunehmen. Der gängige Weg besteht hier darin, zuerst zu<br />
Exchange 2003 zu migrieren und anschließend eine Transition von Exchange 2003 auf<br />
Exchange 2007 durchzuführen. Mehr Informationen hierzu sind im Microsoft TechNet 315<br />
zu finden.<br />
314 http://www.aid4mail.com/<br />
315 http://technet.microsoft.com/en-us/library/aa997461.aspx<br />
Seite 344
2.3.1 Durchführung einer Transition<br />
Eine Transition von Exchange 2003 nach Exchange 2007 kann nicht in Form eines<br />
reinen Updates auf Basis der existierenden Installation erfolgen. Stattdessen muss<br />
zunächst immer innerhalb der gleichen Organisation Exchange 2007 parallel installiert<br />
werden. Dies führt dazu, dass es bei einer Transition immer zu einer zwischenzeitlichen<br />
Koexistenz der alten und neuen Exchange Installationen kommt.<br />
Sobald Exchange 2007 innerhalb der gleichen Organisation installiert ist, können die<br />
Daten der veralteten Exchange <strong>Version</strong> in die neue Installation von Exchange 2007 kopiert<br />
werden. Als Werkzeuge werden dabei im Wesentlichen die Exchange Management<br />
Console und der Exchange System Manager genutzt. Es existieren zahlreiche Anleitungen<br />
316 , die diesen Prozess im Detail beschreiben.<br />
2.3.2 Durchführung einer Migration<br />
Der Migrationsprozess auf ein neues Exchange 2007 System beinhaltet die Installation<br />
einer komplett neuen Exchange 2007 Organisation. Anschließend müssen sämtliche<br />
Inhalte (Postfächer, Kalender, Öffentliche Ordner, Benutzer etc.) des alten System nach<br />
Exchange 2007 migriert werden. Zur Automatisierung der Migration der Postfächer bietet<br />
Microsoft kostenfrei den Exchange Migration Wizard 317 an. Zur Migration der Inhalte des<br />
Active Directory stellt Microsoft die Tools LDIFDE und CSVDE zur Verfügung.<br />
Alternativ zu diesen relativ einfachen Werkzeugen, die Microsoft selber zur Verfügung<br />
stellt, existieren mehrere komplexe Werkzeuge von Drittanbietern, die diesen Prozess<br />
noch weiter vereinfachen und automatisieren.<br />
2.3.3 Fazit<br />
Zusammengefasst bedeutet dies: Da es sich bei einer Migration einer alten Exchange<br />
<strong>Version</strong> auf das neue Exchange 2007 um eine Migration innerhalb der gleichen Produktfamilie<br />
handelt, ist eine weitestgehend verlustfreie Migration der bestehenden Daten<br />
möglich. Microsoft bietet im Internet zahlreiche Anleitungen, wie diese Migration in verschiedenen<br />
Ausgangssituationen im Detail durchzuführen ist 318 .<br />
Eine direkte Migration von Exchange 5.5 auf Exchange 2007 ist jedoch nicht möglich. In<br />
diesem Fall sind zwei Migrationen hintereinander durchzuführen. Dieses Vorgehen ist<br />
entsprechend mit dem doppelten Aufwand verbunden, vergleichbar einer Migration von<br />
Exchange 2003 auf Exchange 2007.<br />
316 http://www.msexchange.org/tutorials/Transitioning-Exchange-2000-2003-Exchange-Server-<br />
2007-Part1.html<br />
317 http://support.microsoft.com/kb/328871<br />
318 http://technet.microsoft.com/en-us/library/bb124008.aspx<br />
Seite 345
Die folgende Tabelle fasst die möglichen Migrations- und Transitionspfade zusammen:<br />
Altes System<br />
Transition zu<br />
einer Exchange<br />
2007 Organisation<br />
Exchange Server 5.5 Nicht unterstützt<br />
Exchange 2003 Unterstützt Unterstützt<br />
Exchange 2000 Unterstützt Unterstützt<br />
Seite 346<br />
Migration auf Exchange 2007<br />
Unterstützt, es muss jedoch erst von Exchange<br />
5.5 nach Exchange 2003 oder Exchange 2000<br />
migriert werden. Anschließend muss eine Transition<br />
von Exchange 2003 oder Exchange<br />
2000 nach Exchange 2007 durchgeführt werden.<br />
Tabelle 54: Mögliche Migrations- und Transitionspfade<br />
2.4 Migration von eGroupware nach Lotus Notes 8<br />
Nachfolgend werden die Möglichkeiten zur Migration von eGroupware nach Lotus<br />
Notes 8/Lotus Domino 6 vorgestellt. Hierbei wird neben den Möglichkeiten zum Export<br />
und Import der Daten auch die Integration von externen Verzeichnisdiensten und Mailservern<br />
betrachtet.<br />
2.4.1 Export der Daten aus eGroupware<br />
Auf der Benutzerseite unterstützt eGroupware lediglich den Export der Kalenderdaten im<br />
iCal-Format. Serverseitig existieren zurzeit keine Exportwerkzeuge, da dies lt. Aussage<br />
der Firma Outdoor Unlimited Training GmbH 319 bisher von Kunden nicht anfordert wurde.<br />
Aufgrund der offenen Architektur und der Verwendung von Standards wird jedoch eine<br />
Vielzahl der Daten außerhalb von eGroupware verwaltet und damit in anderen Systemlösungen<br />
wie Lotus Notes 8/Lotus Domino nutzbar.<br />
2.4.2 Datenverwaltung in externen Verzeichnisdiensten<br />
Zur Datenverwaltung ist die Integration von externen Verzeichnisdiensten in eGroupware<br />
möglich. Dies betrifft zunächst die Benutzerverwaltung. Die Speicherung und Administration<br />
der Benutzerdaten und die Authentisierung von Benutzern kann vollständig über<br />
LDAP erfolgen. Zur externen Dateiverwaltung steht die Speicherung entweder im File-<br />
System oder auf einem Webserver mit WebDAV-Unterstützung zur Verfügung. Mit der<br />
Integration von GroupDAV 320 erlaubt eGroupware die externe Bereitstellung und den<br />
Austausch von Kalendern, Aufgabenlisten, Kontaktlisten und Notizen.<br />
319 http://www.outdoor-training.de/<br />
320 http://www.egroupware.org/index.php?page_name=sync&wikipage=GroupDAV
2.4.3 Datenexport per XML-RPC<br />
Für den externen Zugriff auf Funktionen und Daten des Adressbuchs und des Kalenders,<br />
der Aufgabenlisten, Kontaktlisten sowie Notizen bietet eGroupware eine XML-RPC-<br />
API 321 . Somit ist es möglich, eine Anwendung zu implementieren, die über HTTP die<br />
Daten im XML-Format extrahiert und für den Import in Lotus Domino aufbereitet.<br />
2.4.4 Migration von E-Mail<br />
Die E-Mail-Funktionalität wird in eGroupware nicht über eine eigene Mailserver-<br />
Komponente, sondern über die Einbindung beliebiger SMTP und POP3/IMAP fähiger<br />
Mailserver bereit gestellt. Die in Lotus Domino integrierte Email-Server-Komponente<br />
bietet das POP3 und IMAP-Protokoll für die Übermittlung von E-Mail-Daten an. Für eine<br />
Synchronisation der Email-Postfächer sei auf die bereits oben erwähnte Möglichkeiten<br />
(zum Beispiel via Kommandozeilenprogramm „imapsync―) hingewiesen.<br />
2.4.5 Import der Daten in Lotus Notes 8/Lotus Domino 6<br />
Für die Migration von existierenden Groupware-Systemen auf Lotus Notes 8/Lotus<br />
Domino bietet Lotus Werkzeuge, die sowohl auf der Benutzerseite als auch auf der<br />
Server-Seite für die Migration von eGroupware nach Lotus Notes/Domino verwendet<br />
werden können.<br />
2.4.6 Datenimport auf Benutzerseite<br />
Auf Benutzerseite ist in Lotus Notes 8 der Import von Kalenderdaten im iCal-Format aus<br />
eGroupware problemlos. Ebenso besteht die Möglichkeit, Adressbuchdaten im VCard-<br />
Format in Lotus Notes 8 zu importieren. Bei der Evaluierung der Export-Werkzeuge von<br />
eGroupware konnte allerdings nicht sicher geklärt werden, ob eGroupware das Exportieren<br />
von Adressbuchdaten im vCard-Format auf Benutzerseite anbietet. Grundsätzlich<br />
ist jedoch festzuhalten, dass der Import durch den einzelnen Benutzer nur bei kleineren<br />
Datenvolumina sinnvoll ist.<br />
2.4.7 Integration von externen Verzeichnisdiensten in Lotus Domino 6<br />
Die Migration der Benutzerkonten von eGroupware nach Lotus Domino ist möglich, sofern<br />
die Benutzerverwaltung in eGroupware durch die Integration eines LDAP-<br />
Verzeichnisses realisiert ist. Mit Lotus Domino 6 stehen Funktionen zur Migration von<br />
existierenden LDAP-konformen Benutzerverzeichnissen auf Lotus Domino zur Verfügung.<br />
Der LDAP Domino Upgrade Service 322 bietet diverse Migrationsoptionen, u.a. die<br />
Erweiterung des LDAP-Schemas. Es ist anzumerken, dass für die Nutzung der Lotus<br />
Notes E-Mail-Funktionalität jeder migrierte Benutzer auch mit einer Notes ID in Lotus<br />
Domino registriert sein muss. Zusätzlich können mit IBM Tivoli Directory Integrator 323<br />
externe LDAP-Verzeichnisse integriert und synchronisiert werden. Auch hier sind die<br />
321 http://www.egroupware.org/index.php?page_name=sync&wikipage=xmlrpc<br />
322 http://www-12.lotus.com/ldd/doc/domino_notes/6.5/help65_admin.nsf/<br />
b3266a3c17f9bb7085256b870069c0a9/bfd815f921a50c8d85256d9b004b022b?OpenDocu<br />
ment<br />
323 http://www.ibm.com/developerworks/lotus/library/lwp-msad/<br />
Seite 347
ereits erwähnten Einschränkungen bezüglich variierender Schemata des LDAP-Verzeichnisses<br />
zu beachten (siehe Kapitel III.A 2.1 und III.A 2.2).<br />
Lotus Domino 6 bietet einen integrierten Web-Server, der auch die Integration von Web-<br />
DAV 324 erlaubt. Somit kann zur Migration der in eGroupware verwalteten Dokumente die<br />
WebDAV Integration auf beiden Seiten genutzt werden. Mit Hilfe des Domino Designers<br />
kann das Design der in WebDAV verwalteten Dokumente gestaltet werden.<br />
2.4.8 Datenimport auf Server-Seite<br />
Beginnend mit Lotus Domino 6 liefert IBM mit Lotus XML Toolkit 325 eine Sammlung von<br />
integrierten Klassen für Lotus Script, Java und C++, die den Datenimport und -export der<br />
Datenbankinhalte erlauben. Mittels dieser Programmierschnittstelle können Daten und<br />
Design aus existierenden Domino-Datenbanken auf der Basis von DXL (Domino XML)<br />
extrahiert, modifiziert (via DOM und XSLT-Prozessor) und wieder importiert werden.<br />
Hinsichtlich der Migration der in eGroupware verwalteten Kalender, Aufgabenlisten, Kontaktlisten<br />
und Notizen können die Daten unter Verwendung der XML-RPC-Schnittstelle<br />
aus eGroupware im XML-Format ausgelesen, nach DXL transformiert und anschließend<br />
in Lotus Domino importiert werden. DXL verfügt über detaillierte Gestaltungselemente.<br />
2.4.9 Fazit<br />
Zusammengefasst heißt das: Aufgrund der Verwaltung der Benutzer, E-Mails, Dokumente,<br />
Kalender, Adressbücher und Aufgabenlisten außerhalb von eGroupware und<br />
ihren Austausch über standardisierte Protokolle wie iCal, LDAP, WebDAV und XML-RPC<br />
ist der Export der Daten grundsätzlich möglich.<br />
Auf Benutzerseite wird der Import der Kalenderdaten in Lotus Notes 8 im iCal-Format<br />
unterstützt. Der LDAP Domino Upgrade Service und der IBM Tivoli Directory Integrator<br />
ermöglichen die Migration der LDAP-konformen Benutzerkonten beziehungsweise die<br />
Integration des in eGroupware integrierten LDAP-Systems. Mit der Aktivierung von<br />
WebDAV in Lotus Domino ist der Austausch von Dokumenten möglich, falls die Dokumentenverwaltung<br />
einer eGroupware-Installation über WebDAV realisiert ist. Ebenso<br />
kann der SMTP-fähige Mailserver einer eGroupware-Installation in Lotus Domino eingebunden<br />
werden. Unter Verwendung der Programmierschnittstellen in eGroupware und<br />
Lotus Domino können Anwendungen entwickelt werden, die den Datenexport aus eGroupware<br />
und den Import in Lotus Domino serverseitig realisieren.<br />
Allerdings ist anzumerken, dass eGroupware neben den aufgeführten Daten auch Informationen<br />
wie Projektdaten, Umfragen, Diskussionen etc. verwaltet, welche intern in Datenbanksystemen<br />
gehalten werden und daher nicht problemlos exportierbar und für externe<br />
Anwendungen zugänglich sind.<br />
IBM Business-Partner 326 bieten eine Vielzahl von Dienstleistungen zur Migration nach<br />
Lotus Notes/Domino.<br />
324 http://www-12.lotus.com/ldd/doc/domino_notes/Rnext/help6_admin.nsf/f4b82fbb75e942<br />
a6852566ac0037f284/9ba6f9d0158ccf7c85256c1d00397996?OpenDocument<br />
325 http://www.ibm.com/developerworks/lotus/downloads/toolkits.html#notesdomino<br />
326 http://www-304.ibm.com/jct03004c/businesscenter/smb/de/de/partnerfinder<br />
Seite 348
2.5 Scalix nach eGroupware<br />
Dieses Kapitel beschreibt die Migration von Scalix 11.2 nach eGroupWare 1.4. Hierbei<br />
wird neben der Möglichkeit zum Export und Import der Daten auch die Integration von<br />
externen Verzeichnisdiensten und Mailservern betrachtet.<br />
Aufgrund der Systemkomplexität beider Systeme bei der Datenhaltung ist zu beachten,<br />
dass globale Migrationsstrategien, das heißt „von Datenbank zu Datenbank auf Knopfdruck―<br />
schwer realisierbar sind und in jedem Fall eine Einzelfallbetrachtung erfordern.<br />
2.5.1 Datenmigration<br />
eGroupWare 327 trägt dem Thema Datenmigration insofern Rechnung, indem auf Modulebene<br />
(Modul = eine Softwarefunktion wie zum Beispiel Kalender, Adressbuch, Aufgaben-<br />
und Projektmanager) standardisierte Datenaustauschverfahren unterstützt werden:<br />
iCal: Kalenderinformationen, vCard: Adressinformationen; CSV: Kalender-, Adress-,<br />
Aufgabenverwaltung, SyncML, GroupDAV; iCalServer: Kalender-, Adress-, Aufgabenverwaltung<br />
328 ; WebDAV: File- und Foldermanagement.<br />
Im Ergebnis bedeutet das, dass eine Migrationsstrategie sowohl am Benutzer als auch<br />
an der Dateninstanz ansetzen kann. Das heißt der einzelne Benutzer kann seine Daten<br />
mit Hilfe der o.g. Werkzeuge eigenverantwortlich migrieren oder das Ausgangssystem<br />
wird durch die Systemadministration insgesamt migriert wird.<br />
2.5.2 Adress- und Verzeichnisdaten<br />
Die Migration von Adressdaten aus Scalix kann über die Extraktion der individuellen<br />
Benutzerkontakte per Benutzer im LDIF-Format (LDAP Data Interchange Format)<br />
erfolgen. Die erzeugten LDIF-Dateien können vor dem Import nach eGroupWare mit<br />
Shellskripten nach eigenen Vorgaben modifiziert werden. Das offene Format der LDIF-<br />
Spezifikation erlaubt es, Daten vor der Migration in das Zielsystem zu bearbeiten.<br />
Aufgrund der nachvollziehbaren Struktur des Formates ist sowohl eine manuelle als<br />
auch eine automatische Modifikation der Daten möglich. Die zentrale Migration der<br />
Daten kann mit verschiedenen Anwendungen und Benutzungsschnittstellen erfolgen.<br />
eGroupWare-Anwender werden in der Datenbank verwaltet und können sich konfigurierbar<br />
sowohl an der Datenbank als auch an existierenden Authentisierungs-Systemen<br />
anmelden. Durch die von eGroupWare verwendeten Technologien (zum Beispiel PHP,<br />
Apache-Webserver, MySQL-Datenbank u.a.) ist das System plattformunabhängig und<br />
sowohl auf Linux- wie auch auf Microsoft-Systemen lauffähig. Das bedeutet für die<br />
Authentisierung, dass sowohl LDAP als auch zum Beispiel MS-ADS unterstützt werden.<br />
Ein wichtiges Begleitfeature einer LDAP-Strategie dabei ist, dass zum Beispiel eGroup-<br />
Ware-Adressdaten im LDAP gespeichert werden und auf diese Weise weiteren<br />
Anwendungen zugänglich gemacht werden können.<br />
Eine LDAP-Anbindung kann rein zur Authentifizierung (wie auch IMAP, ADS, HTTP,<br />
PAM etc.) oder als „Accountstorage" genutzt werden. Bei letzterem werden die<br />
Benutzerdaten einschl. Gruppenzugehörigkeiten in LDAP verwaltet und stehen damit<br />
327 www.egroupware.org<br />
328 www.egroupware.org/sync<br />
Seite 349
auch anderen Servern (IMAP, SMTP, Samba etc.) zur Verfügung. Mit Cyrus oder DB-<br />
Mail als IMAP Server und einem SMTP-Server der LDAP (zum Beispiel Postfix) können<br />
die Benutzerdaten des Mailservers komplett aus der eGroupWare heraus verwaltet<br />
werden (Alias, Weiterleitung, Quota, Folder ACL, Sieve-Filter und Urlaubsbenachrichtigungen).<br />
2.5.3 E-Mail<br />
eGroupWare beinhaltet einen eigenen E-Mail-Client. Durch die Abbildung der Software<br />
als Webanwendung im Browser arbeitet der E-Mail-Client als Webmailer. Dieser Webmailer<br />
ist ein reiner IMAP-Client, POP3 wird nicht unterstützt. Hinsichtlich der originären<br />
E-Mail-Funktion werden zahlreiche bekannte Mailserver unterstützt. Für die Nutzung in<br />
eGroupWare verwaltbarer Funktionen wie zum Beispiel Filter- und Abwesenheitsregeln<br />
sowie Zugriffsberechtigungen für die Zusammenarbeit von Benutzern in gemeinsamen<br />
Mailordnern ist die Auswahl unterstützter Mailserver geringer. Volle Funktionalität steht<br />
derzeit u.a. für DBMail und Cyrus-Mailserver zur Verfügung. eGroupWare nutzt zum<br />
Versenden von Mails (u.a. auch für Aufgaben- und Termin-Notificationmessages) das<br />
SMTP des mit der Groupware verbundenen Mailservers.<br />
Für eine serverseitige Synchronisierung via IMAP von Scalix nach eGroupware bietet<br />
sich das Kommandozeilenprogramm „imapsync― 329 an, welches zwei verschiedene<br />
IMAP-Konten miteinander synchronisieren kann. Bei der Migration von IMAP-Postfächern<br />
kann es jedoch vorkommen, dass der Mail-Status nicht immer mitgesichert wird.<br />
2.5.4 Kalender<br />
Die Migration von Kalenderdaten erfolgt pro Benutzer via API im iCal-Format, das heißt<br />
sowohl die Extraktion aus Scalix als auch der Import nach eGroupware basieren auf der<br />
Basis von iCal-Files. Eine Aufbereitung dieser Daten kann mittels der API erfolgen.<br />
2.5.5 Fazit<br />
Zusammenfassend ist festzuhalten: Der Aufwand der Migration hängt stark von der Art<br />
der zu migrierenden Daten ab. So lässt sich beispielsweise das Kommandozeilenprogramms<br />
„imapsync― relativ einfach in eigenentwickelte Skripte integrieren, die einen höheren<br />
Grad an Automatisierung zulassen. Ähnliches gilt für die Synchronisation von Adress-<br />
und Verzeichnisdaten.<br />
Bei der Datenmigration nach eGroupWare sind keine Überlegungen hinsichtlich der<br />
Clientseite erforderlich. Wichtig ist jedoch, dass bei der Migration die bisherigen individuellen<br />
Rechte des Benutzers an seinem Altverfahren nach eGroupWare überführt werden<br />
müssen.<br />
329 http://www.linux-france.org/prj/imapsync/README<br />
Seite 350
3 Bezüge<br />
3.1 Webserver und Netzwerkdienste<br />
Es können je nach Groupwareanwendung Bezüge zu verschiedenen Systemkomponenten<br />
vorhanden sein. Besonders die Produkte von Microsoft sind in der Regel hoch integriert<br />
und verwenden unter Anderem in manchen Installationen Funktionalitäten der Microsoft<br />
Internet Information Services. Hierzu ist das Kapitel zum Thema Webserver (Kapitel<br />
II.B 1.2) zu berücksichtigen.<br />
Die Anwendung Kolab ist eine modulare Integration von verschiedenen Open Source<br />
Anwendungen. Unter anderem handelt es sich um den Webserver Apache und verschiedene<br />
Mailserver. Hierdurch entstehen Bezüge zu den folgenden Kapiteln:<br />
� B Thema Webserver, Apache HTTP Server (Kapitel II.B 1.1)<br />
� D 1.2 Thema Netzwerkdienste (Kapitel II.D )<br />
3.2 Authentisierungs- und Verzeichnisdienste<br />
� Häufig ist es von hohem Nutzen, die Verwaltung von Benutzern und Benutzergruppen<br />
sowie die Rechteverwaltung in Groupware mit vorhandenen Authentisierungs-<br />
und Verzeichnisdiensten zu koppeln. Hieraus entstehen Bezüge zum<br />
Thema Authentisierungs- und Verzeichnisdienste, Kapitel II.C.<br />
3.3 Backend-Integration<br />
Es werden Groupwarelösungen gelegentlich über vorhandene Schnittstellen durch selbst<br />
erstellte Programme oder Plugins erweitert, um die Funktionalitäten besonderen Anforderungen<br />
anzupassen. Hieraus entstehen Bezüge zu dem Thema Backend-Integration,<br />
Kapitel III.D .<br />
Seite 351
B Thema Teaming-/Workgroup Software<br />
1 Produkte / Technologien<br />
Teamingsoftware oder Kollaborationsplattformen, wie sie auch gerne bezeichnet<br />
werden, stehen hoch im Kurs, sowohl bei den Softwareherstellern als auch bei den IT-<br />
Verantwortlichen in den Organisationen. Macht es doch den Anschein, dass man mit<br />
dem Kauf eines Softwarepaketes alle oder einen großen Teil seiner Sorgen los wird.<br />
Denn man bekommt ja nicht nur ein einzelnes Produkt, sondern viele in einem. Meist<br />
enthalten die angebotenen Systeme Content Management, eine Portallösung, ein<br />
Dokumenten Management, Wissensmanagement, Suchmaschine und auch noch<br />
Collaboration.<br />
Dass dem nicht so ist, dürfte eigentlich jedem Leser klar sein. Warum sollte ein<br />
Hersteller eins für fünf verkaufen, wenn er fünf verkaufen könnte. Bei den Kollaborationsplattformen<br />
geht es ist erster Linie um die Unterstützung der Zusammenarbeit in Teams,<br />
sei es in internen oder übergreifenden Projekten oder innerhalb von Organisationseinheiten<br />
oder anderen Teamkonstellationen. Für diese Zusammenarbeit benötigt man<br />
kein klassisches Content oder Web Content System und auch kein klassisches<br />
Dokumenten Management System. Daher wird man mit einem Microsoft Office Share<br />
Point Server oder einem Lotus Quickr oder einem Novell Teaming + Meeting nicht die<br />
vollständige Funktionalität solch klassischer Systeme bekommen. Beispielhaft soll dies<br />
an Dokumentenmanagementfunktionen (DMS) verdeutlicht werden. Klassische Funktionen<br />
eines DMS sind:<br />
� Visualisierung von Ordnungsstrukturen (Umsetzung von Aktenplänen)<br />
� Eingangskorb / Ausgangskorb<br />
� Gemeinsame Dokumentenbearbeitung (Check in / Check out) 330<br />
� <strong>Version</strong>ierung<br />
� Metadatenverwaltung<br />
� Abbildung von Aktenlaufplänen<br />
Was davon übrig bleibt in Kollaborationsplattformen sind in der Regel:<br />
� Gemeinsame Dokumentenbearbeitung (Check in / Check out)<br />
� <strong>Version</strong>ierung<br />
� Metadatenverwaltung<br />
Dies scheint auch logisch zu sein, wenn man sich verdeutlicht, welche Aufgaben und<br />
Aktivitäten bei der Zusammenarbeit in Teams unterstützt werden müssen. Die nachfolgende<br />
Auflistung erhebt dabei keinen Anspruch auf Vollständigkeit:<br />
330 Über die Funktion „Check out― wird sichergestellt, dass nicht zur selben Zeit mehrere Personen<br />
ein und das gleiche Dokument bearbeiten. Über „Check in― wird ein Dokument wieder<br />
für die weitere gemeinsame Bearbeitung freigegeben.<br />
Seite 352
� Teams bilden<br />
� Teammitglieder Funktionen zuordnen<br />
� Aufgaben verteilen und deren Erfüllung überwachen<br />
� Zeitpläne definieren und überwachen<br />
� Ergebnisse entwerfen, bearbeiten, prüfen, freigeben, veröffentlichen und wiederfinden<br />
� Prozesse für die Erfüllung von Aufgaben und der Erarbeitung von Ergebnissen<br />
(Dokumenten, Daten und Informationen) definieren und umsetzen<br />
� Nachvollziehbarkeit sicherstellen<br />
� usw.<br />
o <strong>Version</strong>ierung/Archivierung<br />
o Protokollierung<br />
o Projekttagebuch führen<br />
Gerade für die gemeinsame Arbeit an Dokumenten innerhalb eines Teams werden<br />
Funktionen wie Check in und Check out benötigt, um sicherzustellen, dass es nicht zu<br />
überschneidenden Bearbeitung und dadurch zu Informationsverlust kommt. Für die<br />
Nachvollziehbarkeit der Arbeit benötigt man eine <strong>Version</strong>ierung und einfache Archivierung<br />
von alten <strong>Version</strong>en sowie die Zuordnung und Verwaltung von Metadaten für die<br />
Klassifizierung und das Wiederfinden von Dokumenten. In einem Team benötigt man in<br />
der Regel aber keinen Eingangs- und Ausgangskorb und auch keine Aktenpläne.<br />
Die Konsequenz aus dieser Erkenntnis sollte also sein: Wer ein klassisches DMS benötigt,<br />
sollte hierfür keine Kollaborationsplattform erwerben und einsetzen. Diese Erkenntnis<br />
gilt in gleichem Maße auch für die anderen Systeme. Eine Kollaborationsplattform<br />
sollte eine Organisation für die Unterstützung der Zusammenarbeit in Teams beschaffen<br />
und einsetzen.<br />
Der zweite Punkt, der im Zusammenhang mit Teamingsoftware angesprochen werden<br />
muss, ist die Empfehlung, den Einsatz einer solchen Software sehr gut vorzubereiten.<br />
Dies beinhaltet auch die detaillierte Definition der Anforderungen und die genaue Prüfung<br />
im Rahmen der Beschaffung, dass diese Anforderungen erfüllt sind. Denn wie sich<br />
in den nachfolgenden Betrachtungen gezeigt hat, lassen sich die Unterschiede nicht<br />
immer so deutlich herausschälen, da sie sich am Detail festmachen.<br />
Die Empfehlung der guten Vorbereitung muss ausgesprochen werden, da ansonsten die<br />
getätigte Investition zur Fehlinvestion wird oder die Plattform im Chaos der Arbeitsbereiche<br />
versinkt.<br />
Die Hersteller solcher Teaminglösungen versprechen durchweg schnelle und einfache<br />
Lösungen für die Einrichtung eines Teamarbeitsbereiches. Mit zwei, drei Klicks hat man<br />
alles, was man braucht, zusammengeklickt. Die Standardstrukturen sind dabei in fast<br />
allen Lösungen ähnlich aufgebaut: ein Wiki, ein Blog, eine Bibliothek, ein Kalender und<br />
fertig ist der Arbeitsbereich. Gegebenenfalls noch drei Standardworkflows dazu gepackt.<br />
Seite 353
Schön ist, dass in ebenfalls fast allen Lösungen diese Standardstrukturen mehr oder<br />
weniger einfach und mit Toolunterstützung, die zwar nochmal kostet, auch angepasst<br />
und erweitert werden können. Diese Möglichkeiten sollten unbedingt genutzt werden und<br />
umso besser dies vorbereitet und umso umfassender die Anpassungen im Vorfeld<br />
durchgeführt werden, umso einfacher ist es später, die für die eigene Organisation passenden<br />
Arbeitsbereiche bereitzustellen. Hierzu gehört im Vorfeld unter anderem:<br />
� die benötigten Dokumententypen 331 , -formate und -standards festzulegen<br />
� die unterschiedlichen Strukturen der Arbeitsbereiche mit den benötigten<br />
Funktionen zu definieren<br />
� die richtigen Attribute für Metadaten zu definieren<br />
� die benötigten Prozesse aufzunehmen und in eigene Standardworkflows zu<br />
überführen<br />
Ein weiterer wichtiger Punkt in diesem Zusammenhang ist es, dafür Sorge zu tragen,<br />
dass im Nachgang bei der Nutzung der definierten Strukturen diese nicht mehr wahllos<br />
zu ändern. Dies sollte nur bei Bedarf und durch dafür verantwortliche Mitglieder eines<br />
Teams vorgenommen werden. Dazu müssen die Rollen klar verteilt und die Zugriffsrechte<br />
entsprechend gesetzt sein. Daher sollten auch die notwendigen Rechtestrukturen vorher<br />
überprüft und festgelegt werden. Individuelle Änderungen für einzelne Teambereiche<br />
sind immer machbar.<br />
Weiterhin sollten insbesondere die für die Arbeitsbereichsstrukturen verantwortlichen<br />
Mitarbeiter aber auch die anderen Benutzer zuvor entsprechend gut geschult werden.<br />
Abschließend soll an dieser Stelle noch eine Frage in den Raum gestellt werden, die von<br />
den Lesern selbst beantwortet und vor allem bei der Vorbereitung und Beschaffung berücksichtigt<br />
werden muss. Die Arbeit von Teams ist in den meisten Fällen nicht auf<br />
Dauer ausgelegt, daher stellt sich die Frage: Was soll nach der Auflösung eines Teams<br />
mit den Inhalten des Arbeitsbereiches dieses Teams passieren?<br />
1.1 Mindquarry<br />
Die Teaming und Workgroupsoftware Mindquarry entstand 2006 auf studentische Initiative<br />
am Hasso Plattner Institut der Universität Potsdam. Deren Intention lag darin, ein<br />
Werkzeug für Arbeitsgruppen anzufertigen, das die für Gruppenarbeit zeitintensive und<br />
unpraktische Kommunikation allein per E-Mail ergänzt, ohne die Komplexität in der<br />
Handhabung, Konfiguration und Wartung der meisten Lösungen aus diesem Bereich zu<br />
kopieren. Das Ergebnis dieser Bemühungen ist eine einfach zu installierende Software,<br />
die verschiedene Dienste für Gruppenarbeit in einer aufgeräumten Oberfläche zusammenfasst.<br />
Zu diesen Diensten gehören Werkzeuge für Filesharing, Nachrichten- und<br />
Diskussionsdienste, Benutzerverwaltung und einfache Projektverwaltungsinstrumente.<br />
Mindquarry entstand als freie Software unter der Mozilla Public License (MPL). Kostenpflichtige<br />
Supportangebote und das Hosting eines kostenpflichtigen Serverdienstes für<br />
Arbeitsgruppen waren durch eine GmbH der Entwickler geplant, wurden aus Mangel an<br />
331 Hier kann man zum Beispiel unterscheiden zwischen Dateien, Blogeinträgen, E-Mails usw.<br />
Seite 354
Risikokapital Ende 2007 jedoch eingestellt. Die Entwicklung von Mindquarry wird seitdem<br />
als klassisches Open Source Projekt durch eine Community fortgesetzt.<br />
1.1.1 Technologie/Architektur<br />
Architektur<br />
Mindquarry besteht hauptsächlich aus modular zusammengesetzten Serveranwendungen,<br />
die sämtliche Daten und Informationen zentral verwalten, ein Webinterface zur<br />
Verfügung stellen und verschiedene Standardschnittstellen anbieten sowie aus einer<br />
Clientanwendung und Plugins, mit deren Hilfe Arbeitsgruppen auf diese Daten zugreifen<br />
und kommunizieren können.<br />
Die Serversoftware wurde als klassische Middleware konzipiert. Sie greift auf eine Reihe<br />
von vorhandenen Technologien (Bibliotheken) und Produkten zurück und verbindet<br />
diese unter einer einfachen Benutzeroberfläche zu dem Gesamtprodukt. Die zentrale<br />
Serveranwendung wurde in der plattformunabhängigen Programmiersprache Java<br />
(<strong>Version</strong> 5, SDK) implementiert. Zusätzlich wurde bei der Programmierung auf eine<br />
Reihe von frei verfügbaren Bibliotheken und Technologien zurückgegriffen: Das Toolkit<br />
„Apache Jackrabbit" wurde für die Programmierung der integrierten Dokumentenverwaltung<br />
genutzt, „Apache Cocoon" wurde als Framework für die Entwicklung der<br />
Webfunktionalitäten verwendet und das „Dojo Toolkit" für die Entwicklung der<br />
Weboberfläche. SWT (Eclipse) wurde für die Programmierung der Clientprogramme<br />
eingesetzt, mit deren Hilfe die Funktionen Dateimanagement und Taskmanagement<br />
unterstützt werden.<br />
Auf der Abbildung 42 sind alle Bestandteile einer vollständigen Installation dargestellt,<br />
inklusive eines für Document-Management-Funktionalität benötigten Apache Webservers<br />
mit dem Erweiterungsmodul mod_perl.<br />
Der Mindquarry Desktop Client kommuniziert mit der Serverapplikation über HTTP und<br />
synchronisiert sich mit dem Collaboration Server über einfache PUT Requests (HTTP).<br />
Zusätzlich werden lokal gespeicherte Dateien im Workspace des Dateisystems mit den<br />
Inhalten der verteilten Dokumente auf dem Server über Subversion WebDAV Protokoll<br />
aktualisiert. Zu diesem Zweck verwendet der Client die Subversion Client Library, die mit<br />
dem mod_dav_svn Modul des Apache Webservers kommuniziert. Um also diese Funktion<br />
nutzen zu können, muss der Apache Webserver installiert werden. Wie sich dies in<br />
die Gesamtarchitektur einfügt, wird nachfolgend beschrieben.<br />
SSL und Document Management werden durch entsprechende Apache Module ermöglicht:<br />
mod_dav_svn für Subversion und mod_proxy für die Verschlüsselung. Für die interne<br />
Synchronisierung der Benutzerrechte von Subversion, für die WebDAV Funktion,<br />
mit deren Hilfe ein Webbrowser wie ein Dateimanager auf Dateien zugreifen kann, und<br />
der in Mindquarry realisierten Rechtevergabe wird auf das mod_perl Modul zurückgegriffen,<br />
welches die Skriptsprache Perl beinhaltet, in der diese Funktionen programmiert<br />
worden sind.<br />
Seite 355
Abbildung 42: Architektur Mindquarry<br />
Die zentrale Webapplikation von Mindquarry wird als Java-Servlet durch das spring basierte<br />
Cocoon Framework unterstützt. Um Mindquarry laufen lassen zu können, wird ein<br />
entsprechender Servlet-Container beziehungsweise Applicationserver benötigt. Dieser<br />
muss kompatibel sein zur Java-Servlet-API 2.4 beziehungsweise diese unterstützen. In<br />
der Windows-Variante wird bei der Installation der Jetty Servlet-Container mit installiert.<br />
Für eine Linuxinstallation muss ein entsprechender Container, zum Beispiel Tomcat,<br />
separat installiert werden. Laut den Entwicklern von Mindquarry ist es sinnvoll dieser<br />
Architektur noch den Apache Webserver davor zu setzen, sodass die die Zugriffe auf<br />
Mindquarry über den Webserver erfolgen, dies hat den Vorteil, dass sowohl die Funktion<br />
der Dateisynchronisation (siehe weiter oben) mit den Clients als auch alle anderen Funk-<br />
Seite 356
tionen des Webservers genutzt werden können, Mindquarry mit den nativen Clients und<br />
Webbrowsern über HTTP sowie über das Apache JServ Protocol.(AJP).<br />
Die verschiedenen Bestandteile der Webapplikation sind innerhalb des Cocoon Frameworks<br />
in sitemaps servlets aufgeteilt. Diese sind jeweils über URLs durch HTTP-<br />
Requests ansteuerbar und verhalten sich wie selbstständige kleine Webapplikationen.<br />
Der HTTP-Response dieser Sitemaps enthält entweder HTML, inklusive Javascript,<br />
Bilddaten und CSS, oder in XML verpackte Informationen für Mindquarry-Clients oder<br />
RSS-Feeds.<br />
Die Funktionalität zur Volltextsuche wurde mit Apache Solr implementiert, einem Open<br />
Source Search Server, welcher auf der Lucene Java Search Library basiert. Mindquarry<br />
sendet alle in Mindquarry anfallenden Informationen an Solr, das aus diesen Daten<br />
einen jederzeit aktuellen Lucene Index bereitstellt. Suchanfragen von Benutzern über<br />
das Webinterface werden direkt an das Solr Servlet weitergeleitet. Die Volltextsuche<br />
erstreckt sich über die Inhalte des Wikis und alle Tasks. Zusätzlich wird das Repository<br />
indiziert und kann durchsucht werden. Es werden dabei alle herkömmlichen offenen und<br />
proprietären Formate berücksichtigt, inklusive PDF, Microsoft Powerpoint und Microsoft<br />
Word.<br />
Die Speicherung sämtlicher Benutzerdaten und Dokumente geschieht durch Programmteile,<br />
die auf Apache Jackrabbit zurückgreifen, einer vollständigen Implementation eines<br />
Content Repositorys als Java API (JCR). Diese fungiert in Mindquarry als Datenbank,<br />
die Daten in einer Baumstruktur hierarchisch ablegt. Dieses Java Content Repository ist<br />
ein relationales DBMS und wird in Mindquarry als Backend für die Datenspeicherung<br />
verwendet. Mindquarry erweiterte die JCR Library durch einen Suchalgorithmus, der<br />
XPath-konforme Anfragen (XML Path Language) vollständig bedienen kann.<br />
Für die <strong>Version</strong>ierung und Revision von Dokumentenänderungen greift Mindquarry auf<br />
Subversion zurück, einer Open Source Lösung für derartige Aufgaben, die ein versioniertes<br />
Filesystem abbildet. Subversion überprüft Änderungen an Datenbeständen auf<br />
Clientbasis und funktioniert entsprechend auch offline durch zeitlich verschobene Synchronisation.<br />
Bei Verwendung des Webinterfaces kommuniziert Mindquarry selbst über<br />
Subversion Clients mit den Revisionsdaten von Subversion, während die Synchronisierung<br />
lokaler Arbeitsplätze durch Mindquarry Clients über das Apache mod_dav_svn Modul<br />
erfolgt.<br />
Es ist geplant, Mindquarry zu einem vollwertigen Collaborationserver zu erweitern, indem<br />
der Apache James Mail Server als eigenständiger MTU integriert wird, sodass<br />
Maildienste (Mailinglisten usw.) in den Mindquarry Funktionen (Subversion, Volltextsuche,<br />
usw.) integriert werden können.<br />
Für eine Installation des Mindquarry Servers müssen zusätzlich eine Java SDK ab<br />
<strong>Version</strong> 5 und ein Apache 2 mit mod_perl sowie Subversion installiert sein. Alle anderen<br />
Bestandteile werden mit dem Mindquarry-Softwarepaket geliefert. Für Installationen<br />
unter Windows ist ein Installationspaket (XAMPP) verfügbar, das alle Voraussetzungen<br />
für Mindquarry beinhaltet.<br />
Als Hardwarevoraussetzung werden lediglich 256 MB RAM und 100 MB freier Speicher<br />
für die reine Software, exklusive anfallender Daten auf einer Festplatte genannt.<br />
Seite 357
1.1.1.1 Protokolle und Schnittstellen<br />
Sämtliche Programmierschnittstellen (API) und Protokolle, die in Mindquarry Verwendung<br />
finden, sind vollständig offengelegt und dokumentiert. Die Kommunikation zwischen<br />
einzelnen Bestandteilen und zwischen Clients und Servern geschieht vorwiegend<br />
per HTTP, über das XML und HTML Daten versendet werden.<br />
Als Protokoll zwischen Apache Webserver und Cocoon Servlet wird AJP verwendet. Per<br />
JCR wird Apache Jackrabbit adressiert und die Anbindung der relationalen Datenbank<br />
geschieht über JDBC. Der Lucene Index für alle relevanten Information Retrieval Funktionen<br />
wird über die JSON API angesprochen. Der geplante MTU kommuniziert standardgemäß<br />
per SMTP und kann durch Mailclients über Pop3 und IMAP abgefragt werden.<br />
Die Verwendung von Mindquarry kann problemlos über dessen Webinterface stattfinden.<br />
Dazu werden lediglich herkömmliche Webbrowser benötigt. Zusätzlich existieren Clientprogramme<br />
zu Mindquarry, die lokal installiert werden können. Mit Hilfe dieser Clients<br />
können definierte Bereiche auf der lokalen Festplatte automatisch mit den Daten auf<br />
dem zentralen Server synchronisiert werden. Derartige Clients existieren sowohl für MS<br />
Windows als auch für Linux und Mac OS. Aufgrund ihrer Implementierung als Java-<br />
Anwendungen ist eine Portierung zu weiteren Plattformen problemlos möglich.<br />
Mindquarry bietet die Möglichkeit, Benutzer über einen RSS Feed über aktuelle Änderungen<br />
und Meldungen auf dem Laufenden zu sein. Entsprechende RSS Feed Reader<br />
gibt es in großer Anzahl ebenfalls als Open Source Lösung, und sie sind in den meisten<br />
aktuellen Webbrowsern integriert.<br />
Die Architektur kann daher in jeder Hinsicht als modular und offen angesehen werden,<br />
sodass deren Erweiterung und Anpassung über die genannten Schnittstellen potentiell<br />
kein Problem darstellt.<br />
1.1.1.2 Sicherheitsaspekte<br />
Sämtliche Zugriff auf den Mindquarry Server können per SSL, optional durch Verwendung<br />
des mod_proxy Moduls im Apache Webserver verschlüsselt werden.<br />
Innerhalb des Mindquarry Interfaces können Benutzerrechte definiert werden, sodass die<br />
Zugriffe und Funktionen für Benutzergruppen und einzelne Benutzer nach Bedarf definiert<br />
werden können.<br />
Der Server an sich bietet keine besonderen Sicherheitsmechanismen. Die Daten liegen<br />
unverschlüsselt auf dem Server und Zugriffe auf Repositories, Indizes usw. können über<br />
die wohlbekannten Schnittstellen aufgrund der modularen Architektur stattfinden. Daher<br />
sollten beim Aufbau einer solchen Architektur die folgenden Dokumente des Bundesamtes<br />
für Sicherheit in der Informationstechnik zu Rate gezogen werden:<br />
� „Sicherheitsuntersuchung des Apache Jakarta Tomcat Servlet Containers―,<br />
Bundesamt für Sicherheit in der Informationstechnik, Bonn 2006,<br />
http://www.bsi.de/literat/studien/tomcat/index.htm<br />
� „Web 2.0 – Sicherheitsaspekte neuer Anwendungen und Nutzungsformen des<br />
Mediums World Wide Web und ihrer Implementierung―,<br />
Seite 358
Bundesamt für Sicherheit in der Informationstechnik, Bonn 2007,<br />
http://www.bsi.bund.de/literat/studien/web20/index.htm<br />
� Baustein 5.11 Apache-Webserver der IT-Grundschutzkataloge,<br />
http://www.bsi.bund.de/gshb/deutsch/baust/b05011.htm<br />
Die Verwendung innerhalb geschlossener LANs ist ohne großen Aufwand möglich, jedoch<br />
der gesicherte Zugriff aus dem Internet sollte aus den genannten Gründen nur über<br />
Firewalls und Proxies stattfinden, um neben dem prinzipiellen Sicherheitsgewinn einer<br />
solchen Lösung auch eine empfehlenswerte Verschlüsselung über SSL gewährleisten zu<br />
können. Organisationsübergreifende Zusammenarbeit ist über verschlüsselten Zugriff<br />
möglich und kann aufgrund der verwendeten Standardprotokolle für die Webanwendung<br />
und die Desktopclients eingesetzt werden. Eine höhere Sicherheit bei der Zusammenarbeit<br />
über verschiedene LANs hinweg kann über VPNs oder allgemein verschlüsselte<br />
Netzwerkverbindungen (z.B. Stunnel) realisiert werden, die ebenfalls über die gesamte<br />
Anwendung hinweg transparent einsetzbar sind.<br />
Aus Sicht der IT-Sicherheit sollte auch noch mal darauf hingewiesen werden, dass im<br />
Rahmen der Volltextsuche das Dokumentenrepository indiziert wird, wobei alle herkömmlichen<br />
offenen und proprietären Formate berücksichtigt werden, inklusive PDF,<br />
Microsoft Powerpoint und Microsoft Word.<br />
1.1.2 Funktionalitäten<br />
Das Ziel der Programmierer von Mindquarry war es, ein einfach zu benutzendes Werkzeug<br />
zu erstellen, das Arbeitsgruppen hilft, sich zu koordinieren, Arbeitsergebnisse auszutauschen,<br />
diese zu verwalten und zu überprüfen. Zu diesem Zweck wurden einige<br />
modulare Funktionen erstellt, die gemeinsam die Teamingsoftware Mindquarry bilden.<br />
Eine Arbeitsgruppe wird in Mindquarry als Team bezeichnet. Teams bestehen aus<br />
Gruppen von einzelnen Usern und können von Benutzern mit entsprechenden Rechten<br />
zusammengestellt werden. Teams und User sind umfangreich definierbar. Innerhalb der<br />
Teamübersichten können Aktivitäten und Aufgaben personenbezogen angezeigt werden.<br />
Es können für ein Projekt auch verschiedene Teams zusammengestellt und verwaltet<br />
werden. Innerhalb eines Teams haben alle Benutzer gleichberechtigte Zugriffsrechte.<br />
Eine Rechteverwaltung auf Benutzerebene ist in Planung.<br />
Mindquarry beinhaltet eine Aufgabenverwaltung. Gruppen und einzelnen Teammitgliedern<br />
können Aufgaben zugewiesen werden, die Eigenschaften wie Status (new, runnning,<br />
done, usw.) oder Priorität (high, low, usw.) besitzen. In einer Aufgabenübersicht<br />
können Aufgaben nach verschiedenen Kriterien sortiert werden und als iCal oder PDF<br />
exportiert werden. Es können mehrere Teammitglieder einer Aufgabe zugeordnet werden.<br />
Aufgaben können untereinander verknüpft werden, sodass auch komplexe Projektplanung<br />
möglich ist. Erledigte Aufgaben werden in einem Archiv zur späteren Sichtung<br />
abgelegt. Diverse Ansichten können über den Fortschritt eines gesamten Projektes Auskunft<br />
geben, indem zum Beispiel alle laufenden oder noch nicht zugewiesenen Aufgaben<br />
aufgelistet werden. Aufgabenänderungen werden versioniert und können entsprechend<br />
abgefragt werden. Der Fortschritt und Änderungen werden allen Projektmitgliedern über<br />
RSS/Atom Feeds mitgeteilt.<br />
Seite 359
Als offenes Forum für Teams dient ein Wiki. Benutzer können Rich-Text Einträge vornehmen<br />
und verändern sowie Grafiken und Tabellen einfügen, die von allen Projektmitgliedern<br />
gelesen und wiederum verändert werden können. Über verschiedene Filteransichten<br />
können Veränderungen und Teams zugewiesene Wikis verfolgt werden. Einträge<br />
und Änderungen im Wiki werden protokolliert und den Projektmitgliedern über RSS/Atom<br />
Feeds in Echtzeit mitgeteilt. Eine Exportfunktion ermöglicht die Ausgabe des Inhalts als<br />
OPML (Open Processor Markup Language) Datei.<br />
Für den Austausch und die gemeinsame Nutzung von Dateien existiert ein zentraler Dateiserver,<br />
der über das Webfrontend und die Desktop Clientanwendungen synchronisiert<br />
wird. Die Art und das Format von Dateien (Textdaten, Bilddaten, Officedateien, usw.)<br />
haben keinen Einfluss auf die Funktionen des Servers. Dateien werden automatisch bei<br />
einer Synchronisierung auf die neueste <strong>Version</strong> aktualisiert und dafür zu löschende Dateien<br />
werden mit <strong>Version</strong>sinformationen archiviert. Zu den <strong>Version</strong>sinformationen gehören<br />
Zeitstempel der Änderung, Benutzerangaben und automatische <strong>Version</strong>snummern.<br />
Informationen über aktuelle Änderungen werden ebenfalls per RSS/Atom Feeds veröffentlicht.<br />
Verschiedene Ansichten können über Webbrowser dargestellt werden und<br />
funktionieren über aktuelle Webbrowser auch als WebDAV Anwendung.<br />
Insgesamt werden sämtliche Änderungen innerhalb der verschiedenen Funktionalitäten<br />
von Mindquarry protokolliert und archiviert. Mindquarry verfügt derzeit nicht über eine<br />
klassische Kalenderfunktion, aber über eine Zeitleistendarstellung können sämtliche<br />
Änderungen terminlich nachvollzogen werden. Über einen RSS Feed können Angaben<br />
zu diesen Änderungen durch die Arbeitsgruppen zeitnah verfolgt werden.<br />
Durch den Aufbau der verwendeten Technologien ist eine Offline-Verwendung und nachträgliche<br />
Synchronisation von Dateien problemlos möglich.<br />
Der Umfang der Funktionalitäten bleibt durch den Ansatz der einfachen Benutzbarkeit<br />
hinter den Möglichkeiten vergleichbarer Anwendungen zurück, insbesondere was die<br />
Verwendung von Workflow und Dokumenten Management Funktionen betrifft. Mindquarry<br />
deckt aber die häufigsten Anwendungsanforderungen für kleinere bis mittlere Projekte<br />
effizient ab, ohne die Notwendigkeit, Benutzer in komplexe Bedienkonzepte einführen zu<br />
müssen.<br />
Hauptfunktion Details<br />
Benutzerverwaltung Benutzer und Teams umfangreich definierbar. Das Rechtesystem<br />
kennt in der aktuellen Implementierung lediglich<br />
Rechte auf Teamebene.<br />
Dateiverwaltung mit <strong>Version</strong>ierung<br />
und Metadaten<br />
Dokumente werden über Clients synchronisiert.<br />
Automatische Archivierung mit Metainformationen.<br />
<strong>Version</strong>ierung über Zeitstempel und Bearbeiterinfo.<br />
Termin- und Aufgabenplanung Aufgaben mit grundlegenden Metainformationen (Status,<br />
Bearbeiter, Priorität und Termine) können festgelegt, untereinander<br />
verknüpft und verfolgt werden.<br />
Besonderheiten Projektbezogene Wiki-Funktion für unkomplizierte Diskussionen<br />
Seite 360
Hauptfunktion Details<br />
Aktuelle Projektinformationen über RSS /Atom Feeds<br />
Suchfunktion Die Suche über ein gesamtes Projekt wird über das Webinterface<br />
bereitgestellt. Es handelt sich hierbei um eine<br />
Volltextsuche über die Bereiche Wiki, Aufgabenplanung<br />
und über das zentrale Repository mit Dateien.<br />
1.1.3 Fazit<br />
Tabelle 55: Funktionen von Mindquarry<br />
Mindquarry verbindet einige Open Source Produkte zu einer Teamingsoftware, die vor<br />
allem durch praktische Funktionen und einfache Handhabung positive Akzente setzen<br />
kann. Es bietet sich für einfache Projektorganisation in kleinen und mittleren Arbeitsgruppen<br />
an. Durch die einfache Installation und Bedienbarkeit im Zusammenhang mit<br />
der freien Lizenz bietet sich Mindquarry auch als ad-hoc Lösung ohne besondere Vorkenntnisse<br />
und Voraussetzungen an.<br />
Sämtliche gespeicherte Daten liegen sowohl im Originalformat und als XML kodierte<br />
Informationen vor und können somit auch manuell oder über andere Programme (ohne<br />
Mindquarry) genutzt werden. Dies ist ebenfalls von Vorteil mit Blick auf mögliche zukünftige<br />
Migrationen, insbesondere, wenn es um ablösende Migrationen und die Übernahme<br />
der Daten in neue Umgebungen geht. Durch den Einsatz von offenen Protokollen und<br />
Programmierschnittstellen ist es zudem möglich, die Funktionalität von Mindquarry an<br />
besondere Behördenbedürfnisse, für DMS oder andere spezielle Gegebenheiten zu erweitern.<br />
Nachteilig ist, dass Mindquarry keine besonderen Schutzmechanismen gegen unberechtigte<br />
Zugriffe und ein sehr grobes Autorisierungsmodell bietet. Aus diesem Grund ist eine<br />
besondere organisatorische und administrative Sorgfalt bei der Serverinstallation und<br />
-benutzung notwendig. Hilfreich sind hier die Hinweise des Bundesamt für Sicherheit in<br />
der Informationstechnik zur „Sicherheit im Internet― 332 und zu Web 2.0 333 .<br />
Lobenswert zu erwähnen ist, dass die volle Funktionalität auch ohne eine Freigabe von<br />
aktiven Inhalten genutzt werden kann.<br />
1.2 Microsoft SharePoint Server und –Services<br />
Microsoft bietet unter der Bezeichnung SharePoint schon seit 2001 verschiedene Produkte<br />
an, die durch stetige Konsolidierung zum aktuellen Produkt überführt wurden 334 .<br />
Die nachfolgende Tabelle zeigt die Entwicklung seit der erstmaligen Veröffentlichung von<br />
SharePoint Produkten im Jahre 2001.<br />
332 http://www.bsi.de/fachthem/sinet/allgemeines/sinetstd.htm<br />
333 http://www.bsi.de/literat/studien/web20/index.htm<br />
334 SharePoint Historie http://www.it-innovations.de/is/sharepoint+competencecenter/office+sharepoint+server+2007.htm<br />
Seite 361
Jahr Entwicklung/Veröffentlichung<br />
Services-Linie Server-Linie<br />
2001 SharePoint Team Services v1 SharePoint Portal Server 2001<br />
2003 Windows SharePoint Services v2 Office SharePoint Portal Server 2003<br />
2006 Windows SharePoint Services v3<br />
Tabelle 56: SharePoint-Historie<br />
Seite 362<br />
Microsoft Office SharePoint Server<br />
2007 335<br />
Microsoft bietet aktuell unter der Bezeichnung SharePoint die Produkte Windows Share-<br />
Point Services <strong>3.0</strong> und den Microsoft Office SharePoint Server 2007 an.<br />
Die Windows SharePoint Services (WSS) in der <strong>Version</strong> <strong>3.0</strong> sind Bestandteil des Windows<br />
Server 2003 Betriebssystems und müssen nicht zusätzlich lizenziert und vergütet<br />
werden 336 . Hiermit bietet Microsoft eine Sammlung von Werkzeugen und Funktionen zur<br />
Unterstützung der Zusammenarbeit (Kollaboration) verteilter Teams sowie den Einsatz<br />
von individuell programmierten Workflows an. Die WSS eignen sich dabei vor allem für<br />
kleine Gruppen bis hin zu kleinen Unternehmen.<br />
Den Kern dieser Funktionalitäten der WSS sind anpassbare Listen. Dies sind z.B. Aufgabenlisten<br />
im Team, Kalender, Dokumentenbibliotheken (Dateiablage mit erweiterten<br />
Eigenschaften), Adresslisten. Weitere Listen können selbst als sogenannte benutzerdefinierte<br />
Listen erstellt werden oder aus Drittsystemen eingebunden werden 337 .<br />
Für Unternehmen mit weitergehenden Anforderungen, die durch die WSS nicht erfüllt<br />
werden, stehen weitere Ausbaustufen zur Verfügung, die unter der Bezeichnung Microsoft<br />
Office SharePoint Server 2007 (MOSS 2007) bekannt sind.<br />
Der MOSS 2007 wird in folgenden Editionen angeboten:<br />
� MOSS 2007, Standard Edition (MOSS SE)<br />
� MOSS 2007, Enterprise Edition (MOSS EE)<br />
� MOSS 2007 for Search, Standard Edition<br />
� MOSS 2007 for Search, Enterprise Edition<br />
Da die WSS die Basis für den MOSS 2007 bilden, sind alle Funktionen des WSS bereits<br />
integraler Bestandteil des MOSS 2007.<br />
335<br />
Microsoft Office SharePoint Server 2007 entsteht aus der Zusammenführung und<br />
Weiterentwicklung des Office SharePoint Portal Server 2003 und dem Content<br />
Management Server 2002.<br />
336<br />
WSS setzt mindestens Windows Server 2003 mit den zugehörigen Client Access License<br />
(CAL) voraus.<br />
337<br />
Microsoft Windows SharePoint Services<br />
http://de.wikipedia.org/wiki/Windows_SharePoint_Services
WSS<br />
Seite 363<br />
MOSS<br />
Abbildung 43: Beziehung zwischen MSS <strong>3.0</strong> und MOSS 2007<br />
Die MOSS 2007 Standard Edition unterscheidet sich im Wesentlichen zur Enterprise<br />
Edition dadurch, dass ihr die Forms Services, Excel Services und der Business Data<br />
Catalog (BDC) fehlen, der die Integration von externen Daten in den SharePoint ermöglicht.<br />
Die MOSS 2007 for Search Editionen sind für Firmen gedacht, die vorwiegend eine Enterprise<br />
Suche einsetzen wollen und nicht ein Kollaborations-Portal, daher werden diese<br />
Editionen im Weiteren nicht betrachtet.<br />
1.2.1 Technologie / Architektur<br />
Die unabdingbaren Voraussetzungen für eine MOSS-Installation sind die nachfolgend<br />
aufgeführten anderen Microsoft Produkte:<br />
� Windows Server 2003 (2008) als Betriebssystem<br />
� Internet Information Services (IIS) als Web Server<br />
� .NET Framework 2.0 für den SharePoint und .NET <strong>3.0</strong> für die Windows Workflow<br />
Foundation [WF]<br />
� SQL Server 2005 (2008) als SharePoint Repository<br />
Eine detaillierte Darstellung der vollständigen Systemanforderungen liefert Microsoft auf<br />
seinen Webseiten 338 .<br />
1.2.1.1 Architektur<br />
Die nachfolgende Abbildung verdeutlicht die logische SharePoint-Architektur. Dabei liefern<br />
auf der Infrastrukturebene die Datenbank-, Such und Workflowdienste zusammen<br />
mit dem ASP.NET Framework die Grundlage für alle weiteren Dienste. In der Regel gehören<br />
hier dann auch das Betriebssystem selbst und Active Directory dazu. Aus der Abbildung<br />
wird dann auch deutlich, dass MOSS 2007 auf den WSS <strong>3.0</strong> aufsetzt.<br />
338 http://office.microsoft.com/de-de/help/HA101945391031.aspx
Kollaboration Portal Suche<br />
APPLIKATIONEN & DIENSTE (MOSS 2007)<br />
Seite 364<br />
Content<br />
Management<br />
Workflows<br />
Business<br />
Intelligence<br />
Shared Services<br />
(Site Model, Indexierung/Suche, Geschäftsdatenkatalog, Profil Dienste, Zielgruppen gerechte Ansprache,<br />
Nutzungsanalysen, Single Sign-on Service)<br />
PLATFORM DIENSTE (WSS V3)<br />
Archivierung Sicherheit Management Entwicklung Site Model Erweiterbarkeit<br />
OPERATING SYSTEM DIENSTE<br />
ASP.Net: Web Parts, Personalisierung, Master Seiten, Anbieter Framework (Sicherheit, etc.)<br />
Datenbanken Dienste<br />
Server-Topologien<br />
Such Dienste<br />
Abbildung 44: logische Architektur – SharePoint<br />
Windows Worklfow Foundation<br />
MOSS 2007 unterstützt verschiedene Architekturmodelle bezüglich der Server-<br />
Topologie, abhängig von der Größe der Instanz und deren Durchsatz und den Anforderungen<br />
an die Ausfallsicherheit. Der Standard für SharePoint Instanzen heißt Farm, diese<br />
gibt es als sogenannte „Small―, „Medium― und „Large― Farm. Ein „single― Server wird<br />
nur zu Entwicklungs- oder Testzwecken installiert, da ein weiterer Ausbau nur bedingt<br />
machbar ist.<br />
Die nachfolgende Abbildung zeigt die verschiedenen Varianten, die Microsoft als Basis-<br />
Topologien vorsieht.<br />
Small Farm<br />
Jeder<br />
(load-balanced)<br />
Server<br />
beinhaltet<br />
- Web front end<br />
- Anwendungen<br />
Dedizierter<br />
SQL Server<br />
Medium Farm<br />
Server mit<br />
- Web front<br />
ends<br />
- Anwendungen<br />
Anwendungsserver<br />
SQL Server<br />
Cluster<br />
Large Farm<br />
Index Suche Excel Project<br />
SQL Server<br />
Cluster<br />
Abbildung 45: Topologien von Sharepoint Server Farmen<br />
Web front end<br />
Server<br />
(load balanced)<br />
Anwendungsserver
1.2.1.2 Protokolle und Schnittstellen<br />
Clients<br />
Der Zugriff auf SharePoint Umgebungen kann je nach Bedarf mittels unterschiedlicher<br />
Clients, Protokolle und Schnittstellen vorgenommen werden.<br />
Zu den verfügbaren Clients gehören vor allem alle Anwendungen aus der MS Office<br />
2007 Suite. Hierzu gehören u.a.:<br />
� Microsoft Office 2007 (Word, Excel, PowerPoint, Access, Outlook, InfoPath,<br />
OneNote)<br />
� Project 2007<br />
� Visio 2007<br />
� Publisher 2007<br />
� Office Communicator 2007 (Client für Office Communications Server 2007<br />
[OCS])<br />
Hier können generell auch andere, nicht Microsoft Anwendungen, wie zum Beispiel<br />
OpenOffice.org, verwendet werden. Bei diesen Anwendungen ist aber in der Regel der<br />
Grad der Integration nicht in dem Maße gegeben wie er für die Microsoft Produkte verfügbar<br />
ist. So steht in OpenOffice.org (OOo) zum Beispiel keine Workflowintegration zur<br />
Verfügung, das bedeutet, es gibt keinen Menüpunkt oder Button in OOo über welchen<br />
ein Workflow ausgewählt und gestartet werden kann. Die Funktion der gemeinsamen<br />
Dokumentenbearbeitung steht aber auch bei Verwendung anderer Anwendungen zur<br />
Verfügung, da beim Öffnen eines Dokumentes automatisch die Funktion „Check out―<br />
angewendet wird. Das ―einchecken‖ geht dann über das erneute Hochladen des geänderten<br />
Dokumentes.<br />
Weitere Microsoft Clients, die verwendet werden können, sind zum Beispiel:<br />
� SharePoint Designer 2007<br />
� Internet Explorer 7 oder andere Web-Browser<br />
� Alle WebDAV 339 -fähigen Clients, sofern WebDAV entsprechend eingerichtet<br />
wurde<br />
Anmerkung:<br />
Bezüglich der Browserunterstützung unterscheidet Microsoft zwischen zwei Ebenen (Level<br />
1 und 2). Zu den Level 1 Browsern gehören gemäß Microsoft die Browser, welche<br />
die Vorteile der erweiterten Funktionen von ActiveX-Steuerelementen nutzen und unterstützen.<br />
Sie eröffnen die volle Funktionalität von SharePoint Umgebungen einschließlich<br />
der Administrationsumgebung. Level 2 Browser bieten laut Microsoft grundlegende<br />
Funktionalität, sodass die Benutzer Lese- und Schreibzugriff auf SharePoint Umgebungen<br />
und Administrationsumgebung durchführen können. Dies und Näheres zu den un-<br />
339 Web-based Distributed Authoring and <strong>Version</strong>ing<br />
Seite 365
terstützten Funktionen von verschiedenen Browsern erfährt man im Dokument „Microsoft<br />
Office SharePoint Server 2007 - Getting Started with Office SharePoint Server― 340 .<br />
Schnittstellen und Protokolle für den direkten Zugriff<br />
Als Schnittstellen und Protokolle für den direkten Zugriff stehen zur Verfügung:<br />
� HTTP oder HTTPS<br />
� FTP, sofern dies im Server eingerichtet beziehungsweise erlaubt wird<br />
� WebDAV, die SharePoint Bereiche können dabei z.B. durch eintragen der entsprechenden<br />
URL im Windows Explorer geöffnet werden oder in den Verzeichnisbaum<br />
wie ein lokales Verzeichnis eingebunden werden.<br />
Schnittstellen und Protokolle für die Anbindung anderer Systeme<br />
Für die Anbindung anderer Systeme stehen folgende Schnittstellen zur Verfügung:<br />
� SharePoint API über Visual Studio mit den Entwicklungserweiterungen für<br />
SharePoint<br />
� Web Services (SharePoint Web Services, die mit den Erweiterung von Visual<br />
Studio für SharePoint zur Verfügung gestellt werden, aber auch selbst programmierte<br />
Web Services)<br />
� WebDAV zur Anbindung von WebDAV-fähigen Clients, wie z.B. MS Word oder<br />
der Windows Explorer<br />
Bezüglich der Web Service Schnittstelle ist anzumerken, dass auf Seiten SharePoint<br />
diese Web Services auf .NET basieren müssen. Auf der anderen Seite können beliebige<br />
Technologien (J2EE, .NET) verwendet werden.<br />
Dateiformate<br />
Grundsätzlich können alle Dateiformate in einer SharePoint Umgebung verwendet<br />
werden, die auch sonst unter Windows verwendet werden können. Dateien beliebiger<br />
Formate können entweder über die Web-basierte Benutzerschnittstelle in die SharePoint<br />
Umgebung hochgeladen werden oder über eingebundene WebDAV-Ordner mit Hilfe<br />
eines Dateimanagers übertragen werden. Die Zuordnung zu Anwendungen, mit denen<br />
man die Dateien betrachten und bearbeiten kann, erfolgt über die entsprechenden<br />
MIME-Typen. Unterschiede bestehen im Wesentlichen bezüglich des Grades der<br />
Integration und gegebenenfalls auch bezüglich der Nutzbarkeit von damit verbundenen<br />
Funktionen.<br />
1.2.1.3 Sicherheitsaspekte<br />
Zur Gewährleistung der IT-Sicherheit für eine SharePoint Umgebung werden unterschiedliche<br />
Maßnahmen und Möglichkeiten von Microsoft zur Verfügung gestellt, die je<br />
nach Ausprägung und Nutzung (z.B. nur im Intranet oder auch über das Internet) von<br />
SharePoint und den damit verbundenen unterschiedlichen Sicherheitsanforderungen<br />
genutzt werden können. Im Rahmen des <strong>Migrationsleitfaden</strong>s ist es nicht möglich und es<br />
340 Microsoft Corporation, Published: May 2007, Author: Windows SharePoint Services IT User<br />
Assistance (o12ITdx@microsoft.com) (siehe http://go.microsoft.com/fwlink/?LinkID=91741)<br />
Seite 366
ist auch nicht die Aufgabe des Leitfadens diese alle im Detail zu betrachten. Eine umfangreiche<br />
Darstellung liefert Microsoft auf den TechNet-Seiten des folgenden Links:<br />
http://technet.microsoft.com/en-us/library/cc263518.aspx<br />
Hier gibt es auch ein ca. 300 seitiges Werk zum herunterladen, das viele Aspekte beschreibt.<br />
Die wesentlichen Sicherheitsmaßnahmen lassen sich in drei Gruppen einteilen:<br />
� Autorisierungsmodelle<br />
� Authentisierungsmöglichkeiten<br />
� Verschlüsselung und Netzwerktopologie<br />
Überdies hinaus gibt es zusätzliche Möglichkeiten, deren Bedarf im Einzelfall geprüft<br />
werden muss. Die folgenden Darstellungen zeigen nur einen Ausschnitt.<br />
Autorisierungsmodelle<br />
Hierzu besteht entsprechend der Inhaltsstrukturen und Benutzerstrukturen einer Share-<br />
Point Umgebung die Möglichkeit unterschiedliche Zugriffsberechtigungen zu vergeben.<br />
Das bedeutet, dass für jedes Inhaltsstrukturelement (Site, Liste, Bibliothek, Ordner, Dokument<br />
usw. (siehe auch Abschnitt III.B 1.2.2.1)) und für jeden Benutzer und jede Benutzergruppe<br />
detaillierte Zugriffsberechtigungen vergeben werden können. Die Berechtigungen<br />
vererben sich dabei von oben nach unten, zum Beispiel erben die Inhalte einer<br />
Site die Berechtigung zu dieser, wenn neue Inhalte angelegt werden. Diese können<br />
dann individuell wieder angepasst werden, sofern dies sinnvoll ist.<br />
Benutzergruppen sind Autorisierungsgruppen und werden dazu verwendet, um Benutzer<br />
unterschiedlichen Umfang an Zugriffsberechtigungen zuzuweisen. Die folgende Tabelle<br />
zeigt einige Beispiel für Autorisierungsgruppen:<br />
Gruppen Standard-Autorisierung<br />
Restricted Readers Nur Leserecht auf eine Site und eingeschränkte<br />
Zugriffsrechte auf spezifische Listen<br />
Home Visitors Leserecht<br />
Home Members Beiträge erstellen<br />
Approvers Freigaben und eingeschränkten Zugriff<br />
Home Owners Vollen Zugriff<br />
Site collection administrators Administration einer Site Collection<br />
(siehe Abschnitt III.B 1.2.2.1)<br />
Farm administrators Legen fest, welche Administratoren welche Server und<br />
Server Framen administrieren dürfen<br />
Administrators Server- und Farmadministrationsrechte<br />
Tabelle 57: Beispiele für Autorisierungsgruppen in SharePoint<br />
Seite 367
Darüber hinaus besteht die Möglichkeit selbst weitere Gruppen zu definieren, zum Beispiel<br />
für externe Benutzer.<br />
Authentisierung / Benutzerverwaltung<br />
MOSS bietet die Möglichkeit vorhandene Benutzerverzeichnisse, wie zum Beispiel Active<br />
Directory (AD), aber auch andere Standard LDAP-Verzeichnisse, wie z.B. Novell eDirectory<br />
341 oder OpenLDAP für die Benutzerverwaltung zu integrieren. Alternativ oder<br />
parallel können Benutzer auch direkt auf einem SharePoint Server verwaltet werden.<br />
Dies kann von Interesse sein, wenn es darum geht, externe Benutzer in einem Team zu<br />
integrieren, ohne diese in der internen zentralen Benutzerverwaltung führen zu müssen.<br />
Dementsprechend bietet SharePoint außer der Authentisierung via Active Directory (AD)<br />
oder direkt am SharePoint Server auch die Möglichkeit der Authentisierung gegenüber<br />
einem anderen integrierten LDAP-Verzeichnis.<br />
Weiterhin besteht auch die Möglichkeit sogenannte Authentication Provider, basierend<br />
auf dem „ASP.NET Authentication Providermodel― 342 zu integrieren.<br />
Die gängigsten Provider im SharePoint Umfeld sind<br />
� SQL membership provider<br />
� AD membership provider<br />
� LDAP membership provider<br />
� Web Single Sign On (SSO) mit den Active Directory Federation Services (AD FS)<br />
Über das .Net Framework lassen sich für weitere Anwendungen und Dienste dem Provider<br />
Modell entsprechend programmieren.<br />
MOSS 2007 unterstützt auch die Authentisierung mittels Kerberos, sofern die Authentisierung<br />
gegenüber AD erfolgt.<br />
Die Nutzung dieser unterschiedlichen Möglichkeiten bringt für den Anwender, der sich<br />
korrekt authentisiert hat, keine funktionalen Einschränkungen innerhalb der SharePoint<br />
Umgebung, sofern diese nicht aufgrund der gesetzten Zugriffsrechte beabsichtigt sind.<br />
Allerdings bieten die verschiedenen Authentisierungsmethoden für die Authentisierung<br />
selbst unterschiedliche Funktionalitäten. So stehen zum Beispiel bei Nutzung eines<br />
OpenLDAP-Verzeichnisses nicht die Funktionalitäten eines Active Directory zur Verfügung.<br />
Welches Verfahren unter welchen Voraussetzungen das am besten geeignete ist,<br />
muss jede Organisation für sich entscheiden 343 . Bei der Entscheidung sollte sicherlich<br />
auch noch der folgende Abschnitt berücksichtigt werden.<br />
Verschlüsselung und Netzwerktopologie<br />
Mit Blick auf die Authentisierungsmethoden ist es möglich eine SharePoint Umgebung<br />
über die Netz- und Farmtopologie in verschiedene Sicherheitszonen (z.B. Intranet, Inter-<br />
341 http://www.setfocus.com/technicalarticles/nickkellett/MOSS2007-and-Novell-LDAP-<br />
Authentication_pg1.aspx<br />
342 http://msdn2.microsoft.com/en-us/library/aa479030.aspx<br />
343 Microsoft bietet auf den Webseiten zu folgendem Link Hilfestellungen an:<br />
http://technet.microsoft.com/en-us/library/cc263434.aspx<br />
Seite 368
netauftritt, Partner Web) aufzuteilen und für die verschiedenen Zonen z.B. unterschiedliche<br />
Authentisierungsmethoden mit unterschiedlichem Grad an Sicherheit zu verwenden.<br />
Die Idee dabei ist auch, Inhalte entsprechend in den unterschiedlichen Zonen mit unterschiedlichen<br />
Zugriffsrechten bereitzustellen. Weiterhin kann für jede Zone auch ein unterschiedlicher<br />
Umfang an Funktionalität zur Verfügung gestellt werden (z.B. für die Zone<br />
Internetauftritt nur eine eingeschränkte Suchfunktion).<br />
Zur Verschlüsselung der Datenübertragung zwischen den SharePoint Servern, den Servern<br />
und den Client-Geräten können IPSec und SSL verwendet werden.<br />
Sonstiges<br />
Problematisch ist, dass die volle Funktionalität nur genutzt werden kann, wenn aktive<br />
Inhalte zugelassen werden. Dies ist aus Sicht der IT-Sicherheit bedenklich. Hier sollten<br />
in jedem Fall die Hinweise des Bundesamt für Sicherheit in der Informationstechnik zur<br />
„Sicherheit im Internet― 344 , zum Umgang mit aktiven Inhalten 345 und zu Web 2.0 346 berücksichtigt<br />
werden.<br />
1.2.2 Funktionalitäten<br />
Den Funktionsumfang, den die Microsoft SharePoint Technologie bietet, wird von Microsoft<br />
347 im Allgemeinen wie folgt dargestellt (siehe Abbildung 46):<br />
Abbildung 46: Funktionalität von MOSS 2007<br />
344 http://www.bsi.de/fachthem/sinet/allgemeines/sinetstd.htm<br />
345 http://www.bsi.de/fachthem/sinet/gefahr/aktiveinhalte/index.htm<br />
346 http://www.bsi.de/literat/studien/web20/index.htm<br />
347 7TN25 Tech@Night Office 2007 und Office SharePoint Server 2007 Zusammenarbeit<br />
leicht gemacht http://live.sharepointcommunity.de/wiki/Wiki-Seiten/7TN25.aspx<br />
Seite 369
Die oben genannten Funktionen werden durch die verschiedenen SharePoint Editionen<br />
zum Teil oder komplett unterstützt. Die nachfolgende Abbildung stellt im Überblick dar,<br />
welche Funktionen durch welche Edition zur Verfügung gestellt werden. 348<br />
Office SharePoint<br />
Server Enterprise CAL<br />
Office SharePoint<br />
Server CAL<br />
Projektmgmt Team<br />
Zusammen-<br />
•Issue<br />
Tracking<br />
•Projekt<br />
Arbeitsbereichearbeit•Arbeitsbereiche<br />
und Tools<br />
•Blogs<br />
Workflow Dokument &<br />
Web Content<br />
Management<br />
•5 Workflows<br />
mitgeliefert<br />
•Reporting<br />
für ECM<br />
•Windows<br />
Workflow<br />
Foundation<br />
•Admin und<br />
Deployment<br />
•Status und<br />
Historie<br />
•Policy<br />
•Verwaltung<br />
•Auditing<br />
•Records<br />
Management<br />
•Web CM<br />
•Framework:<br />
Repository,<br />
<strong>Version</strong>ierung,<br />
Metadaten<br />
•Basis<br />
Dokumentenmanagement<br />
Site-Modell,<br />
Sicherheit<br />
und<br />
Verwaltung<br />
•Personalisierung<br />
•Deployment<br />
•Site Manager<br />
•Site und<br />
Rollenmanagement<br />
Infrastruktur<br />
Seite 370<br />
Search<br />
• Business<br />
Data<br />
Catalog<br />
•Erweiterbare<br />
und<br />
anpassbare<br />
Suche nach<br />
Unternehmens<br />
-daten und<br />
Personen<br />
•Textsuche<br />
in<br />
Teamsites<br />
Datenintegration<br />
•Business<br />
Data<br />
Catalog<br />
•Webpart<br />
Integration<br />
Abbildung 47: Funktionalitäten der verschiedenen SharePoint Editionen<br />
E-Forms Datenmanagement&<br />
•Verwaltung,<br />
Publishing,<br />
Prozess-<br />
Erzeugung<br />
und<br />
Abschluss<br />
Reporting<br />
Windows SharePoint<br />
Services**<br />
•Spreadsheet<br />
Publishing &<br />
Berechnung<br />
•Report<br />
Center<br />
**Included with Windows Server and CAL licenses<br />
Zum besseren Verständnis, der nachfolgenden Tabelle soll noch einmal auf Abbildung<br />
43 verwiesen werden, die deutlich macht, dass WSS <strong>3.0</strong> Bestandteil von MOSS ist und<br />
damit alle Funktionen, die durch WSS bereitgestellt werden auch durch MOSS bereitgestellt<br />
werden.<br />
Funktionsbereiche<br />
Services<br />
Web<br />
Content<br />
Services<br />
WSS MOSS Standard MOSS Enterprise<br />
� Zentrale Administration<br />
� Site Administration<br />
� Eingehende Emails<br />
� WSS Suche<br />
� WSS WebApplikation<br />
- -<br />
-<br />
Details<br />
� Publizieren<br />
� Content Verteilung<br />
� Variations<br />
(Mehrsprachigkeit)<br />
348 Die Abbildung 47 hat keinen Anspruch auf Vollständigkeit<br />
incl. incl.<br />
� EXCEL Service<br />
� InfoPath Forms Service<br />
� Business Data Catalog<br />
incl.
Funktionsbereiche<br />
Portal<br />
Services<br />
Features<br />
Website<br />
vorlagen<br />
Site<br />
Templates<br />
WSS MOSS Standard MOSS Enterprise<br />
� Mobility Shortcut URL<br />
� Team-Zusammenarbeitslisten<br />
� Standard Inhaltstyp<br />
Definitionen<br />
� Standard Feld -<br />
definitionen<br />
� Issue Tracking<br />
� Workflows<br />
� Ereignismeldungen<br />
(Alerts)<br />
� Diskussionen<br />
-<br />
� RSS Feeds<br />
� Daten Verbindung<br />
Bibliothek<br />
� Leere Website<br />
� Team Website<br />
� Dokument<br />
Arbeitsbereich<br />
� Wiki Website<br />
� Blog<br />
� Besprechung<br />
Arbeitsbereich<br />
� Profile<br />
Seite 371<br />
Details<br />
� Personalisierung<br />
� Zielgruppen<br />
� Dokumenten und<br />
Record Verwaltung<br />
� Office Suche<br />
� Dokument -<br />
konvertierungen<br />
� Dokumenten Center<br />
Erweiterungen<br />
� Übersetzungs-<br />
bibliotheken<br />
� Publizieren<br />
� „Out of the box―<br />
Workflows<br />
� Reporting<br />
- -<br />
� Berichts und<br />
Auswertungscenter<br />
� Dokumentencenter<br />
� Persönliche Site<br />
� Suchportal<br />
� Kollaborationsportal<br />
� Websiteverzeichnis<br />
� Content Management<br />
� Publizieren mit<br />
Workflow<br />
Tabelle 58: Produktfunktionsmatrix 349<br />
incl.<br />
incl.<br />
Office Enterprise:<br />
� Business Data<br />
Catalog<br />
� Forms services<br />
� Excel services<br />
� Key Performance<br />
Indikator und einige<br />
Business<br />
Intelligence Web Parts<br />
349 MS Press „Microsoft Office SharePoint Server 2007 Administrator's Companion‖<br />
incl.
1.2.2.1 Informationsstrukturen<br />
SharePoint Site Struktur<br />
Kern der Bereitstellung und Bearbeitung von Informationen in einer SharePoint Umgebung<br />
sind die sogenannten Site Collections. Eine Site Collection 350 ist eine Menge von<br />
logisch zusammenhängenden und hierarchisch angeordneten Sites mit gemeinsamer<br />
Administration. Jede Site Collection beinhaltet mindestens eine Site, die Site „auf höchster<br />
Ebene―, die sogenannte „top-level Web Site―. Darunter hängen die dazugehörigen<br />
Subsites. Für jede Site Collection gibt es eine eigene Administration, wodurch sie sich<br />
auch gut für eine verteilte Administration eignen und Mandantenfähigkeit unterstützen.<br />
Abbildung 48 veranschaulicht den grundlegenden Aufbau einer Site Collection.<br />
Site<br />
Collection<br />
Ausschnitt<br />
Ausschnitt<br />
Ausschnitt<br />
Feld 1 Feld 2 Feld 3 Feld 4<br />
Eintrag 1 ----- ----- ----- -----<br />
Eintrag 2 ----- ----- ----- -----<br />
Eintrag 3 ----- ----- ----- -----<br />
Eintrag 4 ----- ----- ----- -----<br />
Seite 372<br />
Felder<br />
Top-level<br />
Web Site<br />
Subsites<br />
Subsites<br />
Listeneinträge<br />
Listen<br />
Abbildung 48: Grundlegende SharePoint Site-Struktur<br />
Für jede Site Collection werden eigene Vorlagenkataloge bereitgestellt. Site Templates<br />
beziehungsweise Site Vorlagen definieren Webparts, Listen, Bibliotheken (Dokumentenbibliotheken,<br />
Bildbibliotheken usw.) Content Types (Inhaltstypen), Metadata, Workflow<br />
und so weiter. Eine Site beinhaltet dementsprechend eine Menge von Instanzen von<br />
Webparts, Listen, Bibliotheken und so weiter sowie einer administrativen Ebene, auf der<br />
man Berechtigung über Berechtigungsgruppen vergeben oder von der übergeordneten<br />
Site erben kann, sofern es sich um eine SubSite handelt.<br />
350 Könnte man frei übersetzen als Sammlung von Webangeboten im Sinne von Site = Website.<br />
Eine Übersetzung von Microsoft wurde nicht gefunden.
1.2.2.2 Metadaten<br />
Bevor Listen, Bibliotheken und so weiter zur Verwaltung, der gemeinsamen Bearbeitung<br />
oder dem Austausch von Dokumenten angelegt werden, steht die Definition der einzusetzenden<br />
Dokumenttypen, wie zum Beispiel Angebote, Verträge, Dokumentation. Das<br />
heißt, es sollten weitestgehend alle möglichen Dokumenttypen, die genutzt werden, vor<br />
der Inbetriebnahme einer SharePoint Umgebung (Collaboration Platform) definiert werden,<br />
um einen „Wildwuchs― von unkategorisierten Dokumenten, erzeugt oder importiert,<br />
zu verhindern. Hierzu werden in SharePoint, wie in vielen anderen Collaboration Plattformen<br />
Metadaten eingesetzt. Sie dienen zum einen als einheitliches Schlagwortsystem<br />
für das Filtern und die Suche und zum anderen fördern sie die Übersichtlichkeit über alle<br />
Dokumente und der darin enthaltenen Informationen.<br />
Metadaten werden im SharePoint entweder mittels sogenannter Content Types 351<br />
und/oder Site Columns definiert.<br />
Ein Content-Type definiert die Attribute eines Eintrags einer Liste, eines Dokument oder<br />
eines Ordners. Mit einem Content-Type können unter anderem folgende Spezifikationen<br />
vorgenommen werden:<br />
� Eigenschaften, die mit den Instanzen eines Typs verbunden werden<br />
� Workflows, die von Instanzen eines Typs ausgeführt werden können<br />
� Management Policies, die mit den Instanzen eines Typs verbunden werden<br />
� Dokumentenvorlagen für Dokument-Content-Typen<br />
� Benutzerdefinierte Funktionen.<br />
Content-Typen kann man mit einer Liste oder einer Bibliothek verbinden. In diesem Fall<br />
können diese Listen und Bibliotheken Instanzen dieses Typs aufnehmen und innerhalb<br />
der Liste oder der Bibliothek können entsprechende Instanzen erzeugt werden. Damit<br />
sind Content Types auch nur für jeweils die Informationsobjekte gültig, mit denen sie<br />
verbunden wurden. Bibliotheken können auch mehr als ein Content Type zugewiesen<br />
werden.<br />
Eine Site Column definiert die Attribute auf Ebene der Sites und ermöglicht damit zum<br />
einen, dass diese für die Definition von Content-Types verwendet werden können und<br />
zum anderen mehr Konsistenz in die Bezeichnung von Attributen zu bringen. Site Columns<br />
können auch einzelnen Dokumenten zugewiesen und sind dann nur in diesem<br />
wirksam.<br />
Werte definierter Attribute für Metadaten können über SharePoint Webseiten mittels<br />
Browser gelesen und bearbeitet werden, ohne gleichzeitig das Dokument öffnen zu<br />
müssen (siehe Abbildung 49) oder über einen der anderen Clients, wie zum Beispiel in<br />
Word (siehe Abbildung 50).<br />
351 Erst seit MOSS 2007 beziehungsweise WSS <strong>3.0</strong> verfügbar.<br />
Seite 373
Abbildung 49: Metadaten eines Dokumentes im Browser<br />
Die Metadaten werden, soweit es Microsoft Office Dokumente betrifft, in den einzelnen<br />
Dokumenten abgelegt, wie z.B. in Word-Dokumenten als Dokumenteneigenschaften. Zu<br />
anderen Dokumenten werden die Metadaten auf dem SharePoint abgelegt.<br />
Abbildung 50: Word 2007 (Datei --> Eigenschaften)<br />
Bestandsdokumente können nachträglich in eine SharePoint Umgebung, zum Beispiel in<br />
eine entsprechende Bibliothek hochgeladen werden. Zunächst besitzen sie dann den<br />
Standard Content Type „Document―. Anschließend kann man sie dann einem definierten<br />
Content Type zuordnen und die entsprechenden Metadaten eingeben. Eine automatisierte<br />
Übernahme von Bestandsdokumenten, die gegebenenfalls auch entsprechende<br />
Metadaten generiert oder übernimmt, wird nicht angeboten. Es bestehen die beiden<br />
Möglichkeiten, die weiter oben schon beschrieben wurden:<br />
� Hochladen der Dokumente über das Web-Interface<br />
� Verschieben oder Kopieren der Dokumente, z.B. mit Hilfe des Dateimanagers in<br />
die entsprechenden WebDAV-Ordner<br />
In beiden Fällen erfolgt kein Mapping beziehungsweise eine automatische Übernahme<br />
von Metadaten, diese müssen anschließend manuell eingegeben werden. Ob es hierfür<br />
Werkzeuge von Drittherstellern gibt, ist nicht bekannt.<br />
Seite 374
Zusammenfassend lässt sich festhalten, dass Content Types in nachfolgenden Bereichen<br />
Einfluss haben:<br />
� Dokument Vorlagen<br />
Beim Erstellen eines Content Type wird definiert, von welcher Dokumenten Vorlage<br />
er erbt. Ein Content Typ muss nicht von einer Dokumenten Vorlage erben,<br />
sondern er kann auch von Listen oder Bibliotheken erben.<br />
� Metadaten<br />
Attribute für Metadaten können über Content Types definiert und Listen und Bibliotheken<br />
zugeordnet werden.<br />
� Workflow<br />
Einem Content Typen kann ein Workflow zugeordnet werden.<br />
� Custom Forms<br />
Die voreingestellten „Edit―, „View― und „New― Masken können durch eigene ausgetauscht<br />
werden<br />
� Information Policy<br />
Einem Content Type können Regeln zugewiesen werden wie zum Beispiel<br />
Drucklabel, zu protokollierende Ereignisse, Ablaufdatum und ein Dokumentbarcode.<br />
1.2.2.3 Workflows mit SharePoint<br />
„Out of the box― Workflows<br />
Mit MOSS 2007 (nicht in den WSS) werden bereits einige vorgefertigte Workflows mitgeliefert<br />
352 , die bereits einige Basisanforderungen abbilden:<br />
� Genehmigung (Approval) 353<br />
Mit diesem Workflow soll für ein Dokument oder einen Listeneintrag die<br />
Genehmigung zur Freigabe eingeholt werden. In diesem Prozess kann der<br />
Freigabe zugestimmt, sie kann abgelehnt oder es kann eine Änderung des<br />
Dokumentes oder des Listeneintrages gefordert werden.<br />
� Feedback sammeln (Collect Feedback)<br />
Mit diesem Workflow soll für ein Dokument ein Feedback von anderen Teammitgliedern<br />
eingeholt werden. Der Workflow ist dann abgeschlossen, wenn von jedem<br />
aufgeforderten Teammitglied ein Feedback zu dem Dokument eingegangen ist.<br />
352 Integrierte Workflows in MOSS 2007<br />
http://blogs.msdn.com/sharepoint/archive/2006/06/07/introduction-to-sharepointworkflow.aspx<br />
http://weblogs.mysharepoint.de/fabianm/archive/2006/08/21/Workflows-in-SharePoint-<br />
2007-_2800_Teil-2_3A00_-Integrierte-SharePoint-Server-Workflows_2900_.aspx<br />
353 Bei den Begriffen in Klammern handelt es sich um die Originalbezeichnungen der engli-<br />
schen <strong>Version</strong>.<br />
Seite 375
� Signaturen sammeln (Collect Signatures)<br />
Diesen Workflow kann man auch als Mitzeichnungsprozess beschreiben. Hiermit<br />
kann man für ein Dokument digitale Unterschriften (Signaturen) einholen. Der<br />
Workflow erstellt dazu entsprechende Tasks für jede Person, die unterzeichnen<br />
soll. Wenn die E-Mail-Funktionalität des SharePoint aktiviert ist kann der<br />
Workflow auch eine Mail zu jedem Betroffenen senden mit einem entsprechenden<br />
Hinweis. Dieser Workflow kann laut Microsoft 354 nur aus einer MS Office<br />
2007 Anwendung (Word oder Excel) heraus gestartet und nur mit einem solchen<br />
Client auch unterzeichnet werden 355 .<br />
� Dispositionsgenehmigung (Disposition Approval)<br />
Dieser Workflow kann eingesetzt werden, um Dokumente einer Bibliothek, die<br />
nicht mehr gültig sind, nach Einholung einer Genehmigung zu entfernen. Wenn<br />
ein Dokument nicht mehr gültig ist, wird eine Genehmigung zum Löschen<br />
angefordert. Wird diese abgelehnt, verbleibt das Dokument in der Bibliothek.<br />
� Gruppengenehmigung (Group Approval)<br />
Dieser Workflow realisiert der Genehmigung einer Freigabe durch eine Gruppe<br />
von Personen. Der Workflow ist im Wesentlichen identisch zu der oben beschriebenen<br />
einfachen Freigabe. Die Unterschiede liegen zum einen darin, dass die<br />
Freigabe durch mehrere Personen erfolgen muss und weiterhin, dass er nur von<br />
einer speziellen Dokumentenbibliothek bereitgestellt wird. Diese Bibliothek<br />
integriert zusätzliche Sichten für den Status des Workflows und liefert zudem ein<br />
Organisationsdiagramm, über das Personen für die Genehmigung ausgewählt<br />
werden können.<br />
� Übersetzungsverwaltung (Translation Management)<br />
Mit diesem Workflow kann die Übersetzungsaufgabe eines Dokuments gesteuert<br />
werden. Hierbei werden von dem zu übersetzenden Dokument Kopien erzeugt<br />
und an die für die Übersetzung zuständigen Personen verteilt, die für die Übersetzung<br />
von einzelnen Teilen zuständig sind. Dieser Workflow kann nur in einer<br />
sogenannten „Translation Management Library― verwendet werden.<br />
� Problemverfolgung (Three State)<br />
Das Tracking von Problemen und Anfragen wird über diesen Workflow unterstützt.<br />
Der Workflow erstellt eine Aufgabe für aktuelle Probleme und Anfragen, die<br />
einem bestimmten Benutzer zur Bearbeitung zugewiesen sind.<br />
Einfache sequenzielle Workflows, die auf Basis schon definierter Aktivitäten aufgebaut<br />
werden, können mit Hilfe des kostenpflichtigen SharePoint Designers erstellt werden.<br />
Wie auf Abbildung 51 zu sehen ist, kann man mit dem SharePoint Designer die einzelnen<br />
Schritte (Steps) eines Workflows festlegen. Diese Schritte bestehen aus Aktionen<br />
(Actions) und dazugehörige Bedingungen (Conditions). Die einzelnen Schritte werden<br />
dann in der definierten Reihenfolge ausgeführt. Ein definierter Workflow wird in einfacher<br />
Weise, wie sie in Abbildung 51 zu sehen ist, dargestellt. In der rechten Spalte sind die<br />
354 http://office.microsoft.com/en-us/sharepointserver/HA101544281033.aspx<br />
355 Der Workflow wird auf der folgenden Webseite im Detail beschrieben:<br />
http://office.microsoft.com/en-us/sharepointserver/HA101544281033.aspx<br />
Seite 376
einzelnen Schritte des Workflows zu sehen, die von oben nach unten durchgeführt werden.<br />
Im linken Teilfenster sind die einzelnen Aktionen eines einzelnen Schrittes zu sehen.<br />
Hier können sie auch definiert und verändert werden. Es besteht keine Möglichkeit<br />
einzelne Aktionen oder Bedingungen selbst zu programmieren, hierfür werden andere<br />
Entwicklungsprodukte benötigt.<br />
Abbildung 51: Workflow Tool - SharePoint Designer<br />
Für die Entwicklung eigener und komplexerer Workflows werden folgende weitere Softwarepakete<br />
benötigt:<br />
� Visual Studio 2005/2008 als Entwicklungsumgebung (siehe Abbildung 52)<br />
� Visual Studio Erweiterungen für Windows SharePoint Services <strong>3.0</strong> (z.B. zum<br />
Entwickeln von Web Parts)<br />
� Visual Studio Erweiterungen für das .NET Framework <strong>3.0</strong> (z.B. für Workflows)<br />
� Visual Studio Tools für Office Second Edition [VSTO 2005 SE]<br />
(z.B. InfoPath Formular basierte Workflows)<br />
Alle vorgenannten Softwarepakete sind kostenpflichtig.<br />
Seite 377
Abbildung 52: Workflow Entwicklung mit Visual Studio<br />
1.2.2.4 Integration von Microsoft Office 2007 Anwendungen<br />
Die SharePoint Produkte zählen bei Microsoft zur Office 2007 Familie, daher fügen sich<br />
alle Office 2007 Produkte nahezu nahtlos in die SharePoint Umgebung ein.<br />
Nachfolgend wird für eine Reihe von diesen Office 2007 Anwendungen aufgezeigt, welche<br />
Funktionszusammenhänge sowohl in die eine wie auch die andere Richtung gegeben<br />
sind:<br />
Word 2007 / Excel 2007 / PowerPoint 2007<br />
� Die Bearbeitung der Metadaten ist über den Dokument-Eigenschaften-Dialog<br />
möglich, die Dateneingabe kann auf Wunsch auch erzwungen werden (siehe Abbildung<br />
50).<br />
� Office Dokumente in einer SharePoint Bibliothek können direkt in Office geöffnet<br />
werden, dies gilt auch für Office 2003. Dies wird über die Zuordnung von Dateitypen<br />
sichergestellt.<br />
� Die Nutzung von Workflows ist in der Benutzerschnittstelle als Menüpunkt eingebettet.<br />
Das heißt, es gibt einen Menüpunkt über welchen ein Workflow ausgewählt<br />
und gestartet werden kann.<br />
� Die Anzeige des Dokumentenzustand, ob z.B. ein Dokument „ein- oder ausgecheckt―<br />
ist, ist ebenfalls in die Benutzerschnittstelle integriert. Ebenso die Möglichkeit<br />
der Nutzung der entsprechenden Funktionen Check-In und Check-Out<br />
über einen Menüpunkt.<br />
Seite 378
� Das Anzeigen aller verfügbaren <strong>Version</strong>en eines Dokumentes, sofern die <strong>Version</strong>sverwaltung<br />
aktiviert wurde sowie das Wiederherstellen älterer <strong>Version</strong>en werden<br />
unterstützt.<br />
Word 2007<br />
� Word hat zusätzlich die Möglichkeit, die aktuelle <strong>Version</strong> mit einer anderen <strong>Version</strong><br />
zu vergleichen, ähnlich wie beim Zusammenführen zweier Dokumente.<br />
� Blogeinträge können direkt aus Word im SharePoint angelegt werden. Dabei wird<br />
auf der Blog-Webseite unter den „Administratorenhyperlinks" auf „Blogprogramm<br />
für Beitrag starten" geklickt. Anschließend wird Word gestartet und ein eigenes<br />
Ribbon 356 zum Erstellen von Blog-Einträgen angeboten.<br />
� Inhalte für Webseiten können erstellt und veröffentlicht werden (Funktion wie<br />
vor).<br />
Excel 2007<br />
Access 2007<br />
Mit der MOSS EE Edition werden auch so genannte Excel Services angeboten.<br />
Hierbei handelt es sich um eine serverseitige Bereitstellung von Excel als eigener<br />
Dienst, mit welchem Exceltabellen erstellt werden können. Die Excel Services:<br />
o verfügen über den gleichen Funktionsumfang wie die Office-Anwendung<br />
Excel 2007 mit Formeln, Makros und so weiter und<br />
o sie dienen vor allem der serverseitigen Erstellung von Exceltabellen und<br />
deren Aufbereitung (Rendern) für die Darstellung im Browser.<br />
� Erstellen von umfangreichen Auswertungen von SharePoint Listen in PDF/XPS<br />
und anderen Formaten.<br />
� Zentralisierung der Datenspeicherung in SharePoint Listen, das heißt die Darstellung<br />
von Access-Dateien (.mdb) in Listen. Das bedeutet, dass auch Access-<br />
Dateien (.mdb) in SharePoint verwaltet und versioniert werden können.<br />
Outlook 2007<br />
� SharePoint Kalender (persönliche und Gruppenkalender) können in Outlook integriert<br />
werden, dabei können sie dann auch mit jedem Ausführen von Senden/Empfangen<br />
Events synchronisiert werden.<br />
� SharePoint Kalender lassen sich als HTML-Email an beliebige Empfänger versenden.<br />
� SharePoint Dokumente, Dokumentenbibliotheken und Ordner, die mit Outlook<br />
verknüpft sind, werden wie die Aufgaben synchronisiert und stehen somit auch<br />
offline zur Verfügung (auch zum Bearbeiten).<br />
� Aufgaben und Workflows können direkt aus Outlook heraus genehmigt werden.<br />
356 Mit dem Schlagwort „Ribbon― bezeichnet Microsoft die neuen Symbolleisten, die zwar immer<br />
noch viele Einzelfunktionen umfassen, jetzt aber übersichtlich in thematischen Gruppen<br />
angeordnet sind.<br />
Seite 379
� Der Einsatz des Records Management für Emails 357 (Voraussetzung: Exchange<br />
2007) mit der Integration in das SharePoint Records Management<br />
Ein „Record‖ ist im Sinne von SharePoint eine elektronisch verfügbare<br />
Information (z.B. ein Dokument), die als Beweis einer Aktivität oder Transaktion<br />
der Organisation gilt und die über einen gewissen Zeitraum aufbewahrt werden<br />
muss. Mit Hilfe des Records Management (frei übersetzt: „Aktenführung― oder<br />
„Schriftgutverwaltung―) kann eine Organisation vor allem:<br />
o Festlegen,<br />
� welche Informationen als „Record― in Betracht kommen,<br />
� wie aktive noch in Arbeit befindliche zukünftige „Records― behandelt<br />
und gesammelt werden, sobald sie „Record― sind und<br />
� wie und für wie lange jeder einzelne „Record―-Typ aufgehoben<br />
werden soll.<br />
o Records-bezogene Aufgaben erledigen, wie das Löschen abgelaufener<br />
„Records― sowie das Auffinden und Sichern von „Records―.<br />
� SharePoint Inhalte stehen auch als RSS Feeds zur Verfügung und können mit<br />
dem Outlook- RSS Reader abonniert werden<br />
OneNote 2007<br />
Es ist möglich, OneNote Notizbücher zur gemeinsamen Bearbeitung in Share-<br />
Point Bibliotheken bereitzustellen.<br />
InfoPath 2007<br />
� InfoPath Formulare können mit den SharePoint Forms Services (MOSS EE) veröffentlicht<br />
werden, wodurch sie Browser-fähig und dadurch auch mit mobilen<br />
Endgeräten nutzbar werden.<br />
� InfoPath Formulare können als Email an Outlook 2007 Postfächer versendet<br />
werden, wobei die Formular Ergebnisse in SharePoint Bibliotheken gespeichert<br />
werden können<br />
Office Communicator 2007 (Client für Office Communications Server 2007 [OCS])<br />
Sobald der Anwender im Communicator aktiv ist, wird seine Verfügbarkeit auch<br />
im SharePoint angezeigt (z.B. an Dokumenten, die durch den Anwender verändert<br />
wurden).<br />
1.2.2.5 Entwicklungswerkzeuge<br />
Es stehen im Wesentlichen drei Varianten bereit, um den SharePoint für bestimmte Aufgaben<br />
anzupassen oder ein Erscheinungsbild zu verändern: Die Weboberfläche im SharePoint<br />
selbst, der SharePoint Designer 2007, der eine Weiterentwicklung von Frontpage<br />
darstellt und Visual Studio 2005/2008 (VS) mit den SharePoint <strong>3.0</strong> Erweiterungen.<br />
357 http://download.microsoft.com/download/c/c/1/cc12d85c-4043-41a0-9528eb553785d5d8/Launch%20MOSS%20Dokumentenmanagement,%20Enterprise%20Conte<br />
nt%20Management%20und%20Records%20Management.pdf<br />
Seite 380
Der SharePoint Designer bietet Möglichkeiten zum Erstellen und Verwalten von Workflows<br />
sowie das Bearbeiten von Webseiten. Kompatibilitätsprüfungen zu Standards wie<br />
Barrierefreiheit, CSS und (X)HTML werden ebenfalls unterstützt. Der SharePoint Designer<br />
kann auch ohne SharePoint, nur für die Webseiten Entwicklung eingesetzt werden.<br />
Der SharePoint Designer ist für einfache Aufgaben, die Gestaltung des SharePoints und<br />
einfache Workflows ausreichend. Sobald jedoch umfangreichere und komplexere Entwicklungen,<br />
wie zum Beispiel im Bereich Workflows, anstehen, ist es notwendig, die<br />
Entwicklungsumgebung Microsoft Visual Studio 2005/2008 einzusetzen.<br />
Erweiterungen für VS im SharePoint Umfeld:<br />
� VS Erweiterungen für Windows SharePoint Services <strong>3.0</strong> (z.B. zum Entwickeln<br />
von Web Parts)<br />
� VS Erweiterungen für das .NET Framework <strong>3.0</strong> (z.B. für Workflows)<br />
� VS Tools für Office Second Edition [VSTO 2005 SE] (z.B. InfoPath Formular basierte<br />
Workflows)<br />
� Voraussetzung für den Einsatz der Erweiterungen ist die Installation der erforderlichen<br />
Frameworks.<br />
� .NET Framework 2.0 ( die aktuelle <strong>Version</strong> für den SharePoint)<br />
� .NET Framework <strong>3.0</strong> (enthält unter anderem die Windows Workflow Foundation<br />
und die Windows Communication Foundation)<br />
Da SharePoint selbst auf ASP.NET 2.0 basiert, ist es erforderlich, sich in diesem Umfeld<br />
gut auszukennen. XML Schemata bilden die Konfigurationsgrundlage für viele Objekte<br />
im SharePoint, wie zum Beispiel Sites, Content Types, Bibliotheken. Eine besondere<br />
XML Ausprägung stellt die von Microsoft für SharePoint ab <strong>Version</strong> 3 definierte „Collaborative<br />
Application Markup Language (CAML) dar, die in vielen der genannten Objekt<br />
Schemata zum Tragen kommt.<br />
Hier sei anzumerken das sowohl für den SharePoint Designer als auch für Visual<br />
Studio und abhängig von der VS Lizenz auch für die Erweiterungen Lizenzkosten anfallen!<br />
1.2.3 Fazit<br />
SharePoint hat ein großes Potential, mit maßgeschneiderten Lösungen Prozesse zu<br />
unterstützen. Die Plattform ist ein Baukasten, aus dem man gut individuelle Lösungen<br />
zusammenstellen kann. Viele Funktionalitäten werden bereits mitgeliefert, fehlende können<br />
relativ leicht programmiert und implementiert werden. Aber auch nicht benötigte<br />
Funktionalitäten können deaktiviert werden.<br />
Die Kehrseite von Vielseitigkeit und Flexibilität: ein relativ hoher Aufwand bei der<br />
Implementierung. SharePoint ist keine Applikation, die man als fertiges Programm<br />
installiert und dann sofort in Betrieb gehen kann. Eine umfangreiche Planung im Vorfeld<br />
der Implementierung ist auf jeden Fall anzuraten, um die technischen Möglichkeiten<br />
auch effektiv nutzen zu können.<br />
Seite 381
Für den Einstieg in die Welt der Kollaborations-Portale und Workflows gibt es mit WSS<br />
eine günstige Variante für die aktuelle Windows Server Plattform, sofern man diese auch<br />
losgelöst vom Kollaborationsthema einsetzt und damit WSS gleich mit lizenziert hat. Sobald<br />
jedoch Enterprise Funktionen benötigt werden, fallen weitere erhebliche Lizenzkosten<br />
an, die vor dem Einsatz auf ihre Notwendigkeit überprüft werden sollten. Weitere<br />
Kosten fallen an, wenn man auch noch Funktionalitäten der Echtzeitkollaboration (z.B.<br />
Instant Messaging, Web-Meetings usw.) nutzen möchte. Hierzu wird der Office Communicator<br />
2007 benötigt.<br />
Ein Vor- sowie Nachteil dieses Produktes liegt jedoch in seiner starken Integration anderer<br />
Microsoft Office Produkte und der damit verbundenen Plattformabhängigkeit.<br />
Zu bemängeln ist vor allem die Tatsache, dass die volle Funktionsfähigkeit nur durch die<br />
Zulassung und den Einsatz von aktiven Inhalten genutzt werden kann. Hierdurch muss<br />
man gegebenenfalls auch Einschränkungen bezüglich der Sicherheit hinnehmen. Die<br />
Verantwortlichen in den Organisationen werden also vor die Entscheidung gestellt: volle<br />
Funktionalität oder volle Sicherheit.<br />
1.3 O3Spaces Workplace 2<br />
Die junge Firma O3 Spaces B.V. entstand 2005 in den Niederlanden im Umfeld der Innovationen<br />
um die Ideen, die um das Marketingschlagwort Web 2.0 geboren wurden. Es<br />
war zunächst das Ziel, eine webbasierte Ergänzung zu verschiedenen Officeplattformen<br />
zu implementieren. Aufgrund der guten Dokumentation und lizenzfreien Verwendbarkeit<br />
von OpenOffice.org und dem offenen ODF Dokumentenformat konzentrierte sich die<br />
Entwicklung bald auf ebendiese Themen. Kundenreaktionen bekräftigten die Gründer in<br />
ihrer Entscheidung, sodass die junge Firma ihre Bemühungen auf die Entwicklung einer<br />
Collaboration-Software konzentrierte, die eng mit OpenOffice.org verknüpft ist. Das Ergebnis<br />
ist O3Spaces Workplace, welches 2007 in der <strong>Version</strong> 2.2 veröffentlich worden<br />
ist. Es handelt sich dabei um eine Collaboration Anwendung mit direkter Integration in<br />
OpenOffice.org und der Möglichkeit, über verschiedene Plattformen hinweg auch unter<br />
Berücksichtigung von Microsoft Office, in Teams zusammenzuarbeiten.<br />
O3Spaces Workplace steht in drei Lizenzversionen / Editionen zur Verfügung:<br />
� O3Spaces Workplace Professional Edition<br />
Diese <strong>Version</strong> ist für Organisationen entwickelt worden, die OpenOffice.org oder<br />
StarOffice verwenden. Auf Subscriptionsbasis werden Lizenz, Support und Updates<br />
in einem Paket verkauft. Für Testzwecke ist die Professional Edition kostenlos<br />
verfügbar.<br />
� O3Spaces Workplace On Demand Edition<br />
Die On Demand Edition ist als SAAS (Software As A Service) Lösung ad hoc<br />
verwendbar. Die Serveranwendung und die darauf gespeicherten Daten werden<br />
in diesem Fall vom Anbieter auf dessen Server gehostet und nur die Clientsoftware<br />
muss vom Kunden installiert werden. Diese Lösung bietet sich als verwaltungsarme<br />
Möglichkeit an, kurzfristig und über das Internet gut erreichbare Gruppenarbeit<br />
über Workplace 2.2 zu organisieren. Hierbei werden die Daten jedoch<br />
beim Anbieter gespeichert, wodurch die Datensicherheit in dessen Händen liegt.<br />
Seite 382
� O3Spaces Workplace Community Edition<br />
Die Community Edition ist eine kostenlose Edition, die allerdings auf zehn Benutzer<br />
beschränkt ist.<br />
Hierbei handelt es sich um proprietäre Software. Der Hersteller plant in naher Zukunft<br />
eine quelloffene Variante von Workplace unter GPL bereit zu stellen.<br />
Für das dritte Quartal 2008 wird vom Hersteller eine Programmierschnittstelle (API) angekündigt,<br />
mit der es auch für Dritte möglich sein soll Erweiterungen für Workplace zu<br />
erstellen.<br />
1.3.1 Technologie / Architektur<br />
1.3.1.1 Architektur<br />
Workplace 2.2 ist eine Serveranwendung mit verschiedenen Clients. Der Server speichert<br />
sämtliche zentral benötigten Informationen, Metadaten sowie Dokumente und stellt<br />
diese über verschiedene Schnittstellen durch ein Webinterface oder über verschiedene<br />
Plugins lokalen Officeanwendungen und auf einem lokalen Desktop zur Verfügung.<br />
Der Server wurde als Javaanwendung in Servlets auf einem J2EE Application Server<br />
(Apache Tomcat) implementiert. Sämtliche Metadaten und <strong>Version</strong>sinformationen werden<br />
in einer PostgreSQL Datenbank gespeichert und verwaltet. Dokumente werden unkompliziert<br />
in einem Dateisystem abgelegt, während der Document Store die <strong>Version</strong>ierung<br />
und eine grundlegende Dokumentenverwaltung und Volltextsuche ermöglicht. Die<br />
Benutzerverwaltung und der Verzeichniszugriff stehen über LDAP-Server-<br />
Synchronization zur Verfügung.<br />
Das Repository für die Dokument Management Funktionalität ist sowohl als WebDAV<br />
erreichbar, sodass mit Webbrowsern einfach darauf zugegriffen werden kann, als auch<br />
über eine eigenständige Workplace API, die Programmierern in naher Zukunft zur einfachen<br />
Erweiterung des Funktionsumfangs zur Verfügung stehen wird und bereits von den<br />
optionalen Plugins verwendet wird.<br />
Plugins existieren für OpenOffice.org, StarOffice und MS Office. Die Plugins ermöglichen<br />
den Zugriff auf die Repositories und auf grundlegende Document Management Funktionen<br />
direkt aus den Officeanwendungen heraus. Die Plugins greifen auf die Workplace<br />
API zurück und wurden mit Hilfe von UNO beziehungsweise im Fall des MS Office Plugins<br />
als .NET Anwendung programmiert.<br />
Über das OSGi-Framework ist es möglich, Module und Erweiterungen zu programmieren,<br />
die die Funktionalität von Workplace erweitern. Das OSGi ist ein Befehlsinterpreter,<br />
über den Systemaufrufe direkt an die Anwendung übergeben werden<br />
können. Eine Kommandozeile erlaubt zusätzlich direkte Aufrufe während der Laufzeit.<br />
Über dieses bereits vorhandene OSGi Studio command interface können einfache<br />
Funktionen wie zum Beispiel die Deaktivierung von Systemmeldungen an einen<br />
bestimmten Benutzer schnell realisiert werden. Eine Beschreibung des OSGi Command<br />
Line interfaces ist in der Basis der Admin Dokumentation verfügbar.<br />
Das Repository ist zudem über den Workplace Assistant erreichbar. Der Workplace<br />
Assistent ist eine Java Applikation, die verschiedene Funktionen von O3Spaces<br />
Seite 383
Workplace direkt in den Desktop integriert, sodass Echtzeitinformationen und zentrale<br />
Dateien ohne offene Webbrowser oder Officeanwendungen einsehbar sind. Der Workplace<br />
Assistent erscheint dabei als Symbol in der Taskleiste und bietet über ein Pop-Up<br />
Menü die Möglichkeit, gesperrte Dateien zu verwalten, sich an verschiedene Workspaces<br />
anzumelden und RSS Feeds über Änderungen in Workspaces zu lesen.<br />
Das Standardwerkzeug für den Zugriff auf die Funktionen von Workplace 2.2 ist jedoch<br />
ein aktueller Webbrowser wie Firefox 2 oder Internet Explorer 7 mit Unterstützung von<br />
Ajax.<br />
Somit stehen drei Clientkomponenten für Workplace 2.2 zur Wahl:<br />
� Workplace, das zentrale, graphische Webfrontend, über das sämtliche Funktionen<br />
und die Administration stattfinden,<br />
� Workplace Assistant, eine javabasierte Desktopintegration sowie<br />
� Office Suite Plugging für OpenOffice.org und Microsoft Office.<br />
1.3.1.2 Protokolle und Schnittstellen<br />
Die verschiedenen Komponenten und Dienste von Workplace 2.2 kommunizieren überwiegend<br />
durch dokumentierte Standardschnittstellen. Benutzer und Benutzergruppen<br />
können über LDAP importiert werden. Es werden hierzu diverse Dienste unterstützt,<br />
darunter OpenLDAP, Active Directory, Sun Directory Server und Novell Directory Server.<br />
Für die Installation stehen Installer für Microsoft Windows und Debian Linux bereit. Weitere<br />
Installationspakete stehen als RPM (RedHat, Suse, Mandriva) und ein VMware Image<br />
zur Verfügung.<br />
Auf Clientseite wird lediglich eine Java Laufzeitumgebung ab <strong>Version</strong> 1.5 und ein Webbrowser<br />
(z.B. Internet Explorer 7, Firefox 2 oder Mozilla) vorausgesetzt.<br />
Office Suite Plugins existieren für OpenOffice.org ab <strong>Version</strong> 2.0.4, für StarOffice ab<br />
<strong>Version</strong> 8 / Update 5 und für MS Office XP/2003/2007. Bei einer Installation unter Microsoft<br />
Windows wird das .NET Framework ab <strong>Version</strong> 2.0 benötigt.<br />
Für die Installation des Servers wird eine Java Laufzeitumgebung ab <strong>Version</strong> 1.5 benötigt<br />
und der Port 8095 darf nicht belegt sein.<br />
O3Spaces Workplace lässt sich unter Microsoft Windows, verschiedenen Linuxderivaten<br />
und Solaris installieren. Plugins stehen für OpenOffice.org, StarOffice und Microsoft<br />
Office bereit. Die Desktopintegration wird ebenfalls für Microsoft Windows, Solaris und<br />
Linux angeboten. Die Integration in die Taskleiste wird hierbei jedoch ausschließlich<br />
unter Microsoft Windows unterstützt. Der Assistent kann in OpenOffice.org und<br />
StarOffice über einen Pull-Down Menüeintrag „Workplace" gestartet werden.<br />
1.3.1.3 Sicherheitsaspekte<br />
Die Verbindungen zwischen Client und Server lassen sich per SSL verschlüsseln, wobei<br />
der Zugriff über unverschlüsseltes HTTP durch verschiedene Mittel begrenzt oder ausgeschlossen<br />
werden kann. Zusätzlich ist die Integration des gesamten Dienstes in ein<br />
VPN problemlos möglich.<br />
Seite 384
Das Repository liegt unverschlüsselt auf dem Server und ist lediglich durch Zugriffsrechte<br />
auf Anwendungs- und Systemebene geschützt.<br />
Die Zugriffskontrolle innerhalb der Anwendung erfolgt auf Benutzerebene und kann auf<br />
der Stufe einzelner Workplaces oder einzelner Ordner für jeden Benutzer definiert werden.<br />
Die IP-Adresse von Clientsystemen wird als Metainformation gespeichert und kann bei<br />
nicht dynamisch vergebenen IP-Adressen als zusätzliches Zugriffs- und Sicherheitskriterium<br />
genutzt werden, indem der Zugriff auf bestimmte Netzbereiche und IPs beschränkt<br />
wird.<br />
Ein Großteil der Funktionalität von O3Spaces Workplace 2.2 wird über das Webfrontend<br />
bereitgestellt. Bezüglich der dort verwendeten aktiven, dynamischen Inhalte wird technologisch<br />
auf Ajax zurückgegriffen. In diesem Kontext sollten bei der Installation, Konfiguration<br />
und im Betrieb besondere Sicherheitshinweise des BSI zu Web 2.0 Berücksichtigung<br />
finden. Diese sind in Form einer Studie auf den Webseiten des BSI zu finden und<br />
können von dort heruntergeladen werden 358 .<br />
1.3.2 Funktionalitäten<br />
O3Spaces Workplace 2.2 bietet verschiedene Werkzeuge zur Koordination von kleinen<br />
und größeren Arbeitsgruppen mit einer Dokumentenverwaltung und -versionierung.<br />
Sämtliche Funktionen der Applikationen werden auf der Weboberfläche Workplace abgebildet.<br />
Benutzer authentifizieren sich über eine sichere Verbindung gegenüber der<br />
Applikation und erhalten so Zugang. Hierbei handelt es sich um kein Standardverfahren,<br />
sondern um eine proprietäre Lösung.<br />
Projekte werden innerhalb der Anwendung als sogenannte Workspaces angelegt. Jedes<br />
Workspace verfügt über eine eigene Aufgabenstruktur und ein Dateiarchiv. Zur Definition<br />
eines Workspaces können zusätzlich projektspezifische Templates festgelegt werden,<br />
die als Spacelets bezeichnet werden. Spacelets können bestimmte Dateien beinhalten,<br />
Terminlisten, Verweise auf Forendiskussionen oder einen besonderen Projektkalender.<br />
Dies erleichtert die Verwaltung komplexer Projekte, an denen verschiedene Teams gemeinsam<br />
arbeiten.<br />
Innerhalb eines Workspaces erhält ein Benutzer Zugang zu projektbezogenen Diskussionsforen<br />
und Dateiablagen. Benutzer können auch verschiedene Workspaces parallel<br />
öffnen und über eine Tabdarstellung zwischen ihnen wechseln. Diese Flexibilität macht<br />
Workplace auch für umfangreichere Projekte mit verschiedenen Arbeitsgruppen, in denen<br />
Mitarbeiter verschiedene Aufgaben übernehmen, interessant.<br />
Die Ansicht innerhalb eines Workspaces wird über frei definierbare oder vorgegebene<br />
Spacelets festgelegt. Ein Spacelet kann zum Beispiel eine Kalenderdarstellung repräsentieren,<br />
während ein weiteres Spacelet die Dateiverwaltung anzeigt. Spacelets werden<br />
innerhalb des Webinterfaces als Fenster erstellt und mit entsprechenden Funktionen<br />
konfiguriert.<br />
358 http://www.bsi.de/literat/studien/web20/<br />
Seite 385
Der Workplace Assistant auf dem Desktop bietet eine zu den Office-Plugins separate<br />
Möglichkeit, Dokumente zu sperren, falls lokal an ihnen gearbeitet wird. Nach der Anmeldung<br />
können auch darin Workspaces ausgewählt werden, wonach zusätzlich Meldungen<br />
in Echtzeit auf dem Desktop erscheinen, die Änderungen und Sperrungen an<br />
Dokumenten durch andere Gruppenmitglieder melden.<br />
Die Office-Plugins für OpenOffice und StarOffice greifen zusätzlich auf ein Template<br />
Management Module zu, das ein projektspezifisches Templatearchiv darstellt. Somit<br />
können neue Officedokumente direkt aus angepassten Templates erstellt werden (siehe<br />
Abbildung 53).<br />
Abbildung 53: Template Management Module<br />
Workplace bietet für jeden Workspace eine separate Dokument Management Funktionalität.<br />
Dateien, die über das Webinterface oder die Plugins geöffnet, erstellt oder modifiziert<br />
werden, werden automatisch versioniert und archiviert. Dies betrifft alle möglichen<br />
Dateiformate und beinhaltet Zeitstempel und Angaben über Benutzer und optionale<br />
Kommentare. Herkömmliche Officeformate aus dem Microsoft Office, StarOffice und aus<br />
OpenOffice.org werden zusätzlich indexiert, sodass sie mit der Volltextsuche von Workplace<br />
auffindbar sind.<br />
Eine Besonderheit von O3Spaces Workplace sind die Office Suite Plugins für Open-<br />
Office.org und Microsoft Office. Sie realisieren eine starke Integration der Workplace<br />
Funktionen und erscheinen innerhalb der Officeanwendung als eigene Symbole.<br />
Hierüber ist es möglich, Dokumente direkt aus den Repositories heraus zu laden und<br />
wieder auf dem Server zu speichern, ohne eine lokale Zwischenspeicherung, manuelle<br />
Sperrung und nachträgliche Veröffentlichung über Clients oder die Weboberfläche<br />
durchführen zu müssen. Die so gespeicherten Dokumente werden ebenfalls automatisch<br />
versioniert oder gesperrt und entsprechende Meldungen werden auf angemeldeten<br />
Clients verteilt.<br />
Seite 386
Das Repository eines Workspaces kann nach diversen Kriterien (Datum, Benutzer, usw.)<br />
und durch Volltextsuche (ODF, PDF und MS Dokumentenformate) durchsucht werden.<br />
Alle Clients sind in der Lage, offline zu arbeiten und eine zeitversetzte Synchronisation<br />
von Informationen und Dokumenten durchzuführen.<br />
Weitere Spacelets können so konfiguriert werden, dass sie eine Kalenderansicht zeigen,<br />
in der Termine und Aufgabeninformationen angezeigt und bearbeitet werden können.<br />
Ein klassisches Diskussionsforum kann angelegt werden, in dem alle Benutzer eines<br />
Workspaces nach Themen sortierte Onlinediskussionen führen. Entsprechende Spacelets<br />
informieren über aktuelle Einträge.<br />
Funktion Beschreibung<br />
Benutzerverwaltung Neue Benutzer werden durch existierende Benutzer, welche<br />
die Rolle Administrator innehaben, den Workspaces<br />
zugeordnet, die für sich als Projektinstanzen angelegt werden<br />
können.<br />
Dateiverwaltung Dokumente werden über Clients und Plugins direkt aus der<br />
Officeanwendung synchronisiert. Automatische Archivierung<br />
mit Metainformationen sowie Volltextindizierung werden<br />
unterstützt.<br />
Terminplanung Terminplanung für Gruppen und einzelne Benutzer ist über<br />
ein Kalender-Spacelet möglich.<br />
Besonderheiten Frei definierbare Ansichten im Webclient und einfache<br />
Arbeit in verschiedenen Projekten zur gleichen Zeit.<br />
Besonders hohe Integration in OpenOffice.org, StarOffice<br />
und Microsoft Office.<br />
Tabelle 59: Funktionen O3Spaces Workplace<br />
Der Schwerpunkt der Anwendung liegt eindeutig auf der Zusammenarbeit in verschiedenen<br />
Officedokumenten. Es fehlt die Möglichkeit, Mitarbeitern Aufgaben zuzuweisen, die<br />
Erledigung von Aufgaben zu verfolgen sowie die Steuerung und Kontrolle von Prozessen.<br />
Für die Projektarbeit ist Workplace 2.2 somit kein universelles Werkzeug, sondern<br />
empfiehlt sich als Ergänzung zu einem Werkzeug zur Projektplanung und -verfolgung für<br />
die Zusammenarbeit in heterogenen Umgebungen.<br />
Die Administration von Workplace 2.2 erfolgt über ein separates Webinterface. Diese<br />
„Studio" getaufte Oberfläche ermöglicht die Verwaltung von Benutzern und Dateien und<br />
erleichtert die Kontrolle über Hardwareressourcen und Metadaten. Verschiedene nützliche<br />
Werkzeuge erleichtern diese Arbeit, so zum Beispiel die Möglichkeit, ganze Verzeichnishierarchien<br />
aus lokalen Verzeichnissen zu übernehmen, indem sie aus ZIP<br />
Archiven importiert werden.<br />
Die nachfolgende Tabelle stellt dar, welche Funktionen durch die verschiedenen Editionen<br />
bereitgestellt werden.<br />
Seite 387
Funktion On Demand Community Professional<br />
Einfaches Roaming � - -<br />
Keine Serverinstallation � - -<br />
Kleine lokale Installation, Sicherheit durch<br />
den Hersteller<br />
Seite 388<br />
� - -<br />
Automatische Updates � - �<br />
Upgrade und Update Services � - �<br />
Backup und Recovery � extern extern<br />
Sicherheit und User Management über<br />
User, Gruppen Rollen und Rechte<br />
Management<br />
� � �<br />
Online Community Support � � �<br />
LDAP � � �<br />
Online Professional Support � - �<br />
Bugs & Patch Support � - �<br />
Integrierte Hilfefunktion � - �<br />
Support zum Clustering - - �<br />
Server basierte Installation mit unlimitierter<br />
Benutzerzahl<br />
Automatische <strong>Version</strong>ierung, checkin/check-out<br />
Funktion<br />
-<br />
limitiert auf<br />
10 Benutzer<br />
�<br />
� � �<br />
Mehrsprachliche <strong>Version</strong>en � � �<br />
Office Integration � � �<br />
Zeitnahe Berichte über Änderungen innerhalb<br />
eines Workspaces<br />
� � �<br />
O3Spaces Workplace Assistant � � �<br />
- � �<br />
Template Management für OpenOffice.org /<br />
StarOffice<br />
Management von gelockten Dateien über<br />
den O3Spaces Workplace Assistant<br />
� � �<br />
Suche nach offenen Dokumenten � � �<br />
� � �<br />
Verweise auf Dokumente im Wiki, Portal<br />
oder der Website<br />
OpenSearch kompatibles Repository - - �<br />
Spacelets für Online Diskussionsforen � � �<br />
Spacelets für Kalenderfunktion � � �<br />
Tabelle 60: O3Space – Funktionen in den verschiedenen Editionen
1.3.3 Fazit<br />
In heterogenen Umgebungen mit verschiedenen Plattformen und Officeanwendungen<br />
bietet sich O3Spaces Workplace 2.2 als übergreifende Kollaborationsumgebung mit<br />
elementaren DMS Funktionen an. Die Verwaltung der Gruppen und Benutzer lässt sich<br />
mit bereits vorhandenen Benutzerdaten über LDAP synchronisieren. Prozesssteuerung<br />
und Projektwerkzeuge sind derzeit nicht vorgesehen, wodurch sich die Anwendung vor<br />
allem für kleine bis mittlere Projektgrößen und Arbeitsgruppen in heterogenen Umgebungen<br />
anbietet.<br />
1.4 Novell Teaming + Conferencing<br />
Novell hat das Produkt Teaming + Conferencing 359 erstmalig im Oktober 2007 auf den<br />
Markt gebracht. Die Technologie, auf der dieses Produkt basiert, ist allerdings schon seit<br />
etwa 13 Jahren am Markt und kommt von der Firma Sitescape, die inzwischen von Novell<br />
gekauft wurde 360 .<br />
Die Kollaborationslösung ICEcore ist die Basis für das Produkt von Novell und kann als<br />
Open Source Software von der Webseite www.icecore.org heruntergeladen werden.<br />
ICEcore steht unter der Common Public Access License (CPAL) 361 .<br />
Teaming + Conferencing resultiert aus der gemeinsame Weiterentwicklung von ICEcore<br />
durch die Firmen Sitescape und Novell. Die nachfolgende Abbildung veranschaulicht die<br />
Unterschiede zwischen dem Open Source Produkt und der Novell Lösung und zeigt die<br />
kostenpflichtigen Add-On Module.<br />
ICEcore ICEcore Enterprise<br />
adds:<br />
Portal<br />
Personal, team & global workspaces<br />
Blogs, wikis and discussion forums<br />
Document management<br />
Surveys and polls<br />
Team calendars and tasks<br />
Expertise locator<br />
Search<br />
File transfer through WebDAV<br />
LDAP import<br />
MySQL database support<br />
Web conferencing<br />
Instant messaging/chat<br />
Presence engine<br />
Advanced document conversion & viewing<br />
� More document types converted<br />
� Scalability – higher performance indexing<br />
� Higher quality conversions<br />
Higher performance search<br />
Basic Workflow<br />
Oracle & MS SQL database support<br />
Support for regulatory compliance processes,<br />
such as Sarbanes-Oxley, HIPAA, etc.<br />
Compliance with 508 accessibility standards<br />
LDAP synchronization<br />
Voice conferencing<br />
Open source Novell Teaming+<br />
Conferencing<br />
Seite 389<br />
ICEcore<br />
add-on<br />
modules<br />
First release:<br />
Advanced Workflow<br />
Telephony Interface<br />
Subsequent release:<br />
Advanced Search<br />
Offline Capability<br />
SiteScape<br />
modules<br />
Abbildung 54: Funktionen von ICEcore OSS, Novell Teaming + Conferencing und ICEcore<br />
Add-On Modulen<br />
359 gesprochen Teaming plus Conferencing<br />
360 http://www.sitescape.com/<br />
361 http://en.wikipedia.org/wiki/Common_Public_Atvontribution_License
Novell Teaming + Conferencing ist eine Collaboration Plattform für Linux-Systeme.<br />
Teaming + Conferencing sind zwei Softwarepakete, die auch jede für sich allein genutzt<br />
und erworben werden können. Der Hersteller bietet die beiden Pakete sowohl einzeln als<br />
auch als gemeinsames Paket an.<br />
Die beiden Pakete stellen unterschiedliche Funktionalitäten für eine Collaboration Plattform<br />
zur Verfügung (siehe Abschnitt III.B 1.4.2). Daher erfolgt sowohl bei der Betrachtung<br />
der verwendeten Technik als auch den verfügbaren Funktionen eine weitgehend<br />
getrennte Betrachtung 362 .<br />
1.4.1 Technologie/Architektur<br />
1.4.1.1 Novell Teaming<br />
Architektur<br />
Für eine Installation der Teamingsoftware sind nachfolgend aufgelistet die Hard- und<br />
Software Voraussetzung 363 , (alle weiteren Komponenten liefert das Installationspaket):<br />
� Hardware<br />
� Software<br />
o 2 GHz Prozessor (Multi-CPU Systeme werden empfohlen)<br />
o 2 GB RAM<br />
o 250 MB Plattenplatz<br />
Dies ist der Speicherbedarf allein für die Installation der Software.<br />
Weiterer Plattenplatz wird natürlich für die Teamarbeitsbereiche in die<br />
darin abgelegten Daten, Dokumente und so weiter benötigt.<br />
o Sun JDK 1.5.0_011 364 oder höher oder IBM JDK 1.5<br />
(JDK 1.6 wird derzeit nicht unterstützt)<br />
o Datenbankmanagementsystem<br />
� MySQL 5.0.37 (oder höher) Server und Client für Linux<br />
� MySQL 5.0.26 (oder höher) Server und Client für Windows<br />
(MySQL 5.1 wird derzeit nicht unterstützt)<br />
� SQL Server für Windows Server 2000 oder 2005<br />
� Oracle 9, 10<br />
Die folgenden Betriebssysteme werden unterstützt 365 :<br />
362 Um Novell Conferencing in Novell Teaming nutzen zu können müssen die Installations- und<br />
Konfigurationshinweise im Server Installation Guide beachtet werden.<br />
http://www.novell.com/documentation/team_plus_conf/index.html<br />
363 Eine genaue Beschreibung findet man im Installation and Configuration Guide,<br />
http://www.novell.com/documentation/team_plus_conf/team102_instconfig/ data/bookinfo.html<br />
364 Entspricht der von neu verwendeten <strong>Version</strong>snummerierung JDK 5 (siehe<br />
http://java.sun.com/javase/downloads/index_jdk5.jsp)<br />
365 http://www.novell.com/products/teaming/tech_specs.html<br />
Seite 390
� Novell Open Enterprise Server 2.0 (Linux Kernel)<br />
� SUSE® Linux Enterprise Server 10 sp1<br />
� RedHat Enterprise Linux 3 or 4<br />
� Windows 2003 Server<br />
Die nachfolgende Abbildung 55 beschreibt die für das Teamingsoftwarepaket verwendete<br />
Architektur. Novell Teaming ist eine reine Java/J2EE Web-Anwendung. Als Servlet-<br />
/Applicationserver kommt Apache Tomcat 366 zum Einsatz. Als Portallösung wird die<br />
Open Source Software „LifeRay Portal Enterprise and Professional <strong>Version</strong> 4.0― der<br />
gleichnamigen Firma LifeRay verwendet.<br />
Abbildung 55: Architektur des Novell Teamingsoftwarepakets 367<br />
Protokolle und Schnittstellen<br />
Für die Suche wird in Novell Teaming das Open Source Projekt Apache Lucene 368<br />
eingesetzt.<br />
Der Zugriff auf das Filesystem wird über WebDAV (Server und Client) realisiert.<br />
Weitere wichtige Schnittstellen sind:<br />
� JDBC für den Zugriff auf die Datenbank<br />
� LDAP für die Integration von Verzeichnissen, z.B. für die Benutzerverwaltung<br />
366 http://tomcat.apache.org/<br />
367 Aus dem Installation and Configuration Guide der Firma Novell (siehe<br />
http://www.novell.com/documentation/team_plus_conf/)<br />
368 http://lucene.apache.org/<br />
Seite 391
Es besteht die Möglichkeit, eine auf einem LDAP-Verzeichnis basierende<br />
Benutzerverwaltung zu integrieren. Alternativ oder parallel können die<br />
Benutzer auch direkt auf dem Teamingsserver verwaltet werden. Dies bietet<br />
den Vorteil, dass externe Teammitglieder nicht in der internen zentralen<br />
Benutzerverwaltung aufgenommen werden müssen.<br />
� SMTP, POP3 und IMAP für die E-Mail-Integration<br />
� WebServices für die Anbindung weiterer Anwendungen und Dienste<br />
� iCal für die Einbindung und Verwaltung von Kalender, die wiederum mit<br />
WebDAV veröffentlicht werden können.<br />
� HTTP und HTTPS für den Zugriffs zum Beispiel über Browser<br />
Daten und Dokumente der Teamarbeit werden mit Hilfe von Novell Teaming in der Datenbank<br />
oder auf dem Dateisystem abgelegt.<br />
Sicherheitsaspekte<br />
Authentisierung und Benutzerverwaltung<br />
Die Authentisierung erfolgt über die browserbasierte Benutzerschnittstelle. Dabei kann<br />
die Authentifizierung sowohl gegen ein LDAP-Verzeichnis als auch gegenüber der Benutzerdatenbank<br />
der Teamingsoftware erfolgen. Das bedeutet, dass Benutzer parallel<br />
sowohl in einem LDAP-Verzeichnis (z.B. das zentrale interne Benutzerverzeichnis) oder<br />
lokal auf der Teamingplattform verwaltet werden können. Dies hat Vorteile, wenn es darum<br />
geht auch externe Teammitglieder zu integrieren, die aber nicht in der internen Benutzerverwaltung<br />
geführt werden sollen.<br />
Für die Implementierung einer Single Sign On Lösung unterstützt Novell Teaming die<br />
hauseigene Novell Access Manager Lösung 369 . Hierbei handelt sich um ein proprietäres<br />
kostenpflichtiges Produkt, das nicht Bestandteil von Teaming + Conferencing ist.<br />
Weiterhin werden für die Nutzung von WebServices und WebDAV auch Authentisierung<br />
über diese Schnittstellen unterstützt.<br />
Autorisierung<br />
Die Vergabe von Zugriffsrechten erfolgt rollenbasiert für jeden Arbeitsbereich und Ordner.<br />
Dafür stellt Novell Teaming einen Satz von Basisrollen zur Verfügung 370 . Durch eine<br />
hierarchische Anordnung der verschiedenen Arbeitsbereiche (siehe Abschnitt III.B<br />
1.4.2.1 – Verwendete Strukturen) kann eine verteilte Administration genutzt werden.<br />
Gleichzeitig wird Mandantenfähigkeit unterstützt.<br />
Zur Sicherstellung ausreichender Verfügbarkeit und Performanz unterstützt Novell Teaming<br />
auch Load-Balancing und den Aufbau von Clustern.<br />
369 http://www.novell.com/products/accessmanager/overview.html<br />
370 Näheres findet man dazu im „Installation and Configuration Guide―<br />
http://www.novell.com/documentation/team_plus_conf/team102_instconfig/ data/bookinfo.html<br />
Seite 392
Werkzeuge<br />
Für die Konfiguration und Administration von Novell Teaming stehen verschiedene webbasierte<br />
Schnittstellen, sogenannte Portlets, für unterschiedliche Aufgaben und Komponenten<br />
zur Verfügung. Nachfolgende Abbildung 56 zeigt das sogenannte „Enterprise<br />
Admin Portlet― mit einem Ausschnitt der Benutzerverwaltung.<br />
1.4.1.2 Conferencing Server<br />
Systemvoraussetzungen 371<br />
Abbildung 56: Enterprise Admin Portlet<br />
Die folgenden Voraussetzungen müssen für eine Installation von Novell Teaming erfüllt<br />
sein:<br />
� Betriebssystem: SUSE Linux Enterprise Server 10 (SLES 10) oder Red Hat<br />
Enterprise Server 4<br />
� Die Bibliotheken libneon and libpq<br />
Diese werden z.B. bei einer Standardinstallation des SLES 10 nicht installiert.<br />
� PostgreSQL372<br />
Muss auf einem der Conferencing Hosts installiert sein.<br />
Architektur / Systemkomponenten<br />
Die nachfolgende Abbildung 57 zeigt die Systemkomponenten und ihre Verbindungen<br />
untereinander.<br />
Der Conferencing Server kann durch seinen sehr modularen Aufbau für einen Betrieb<br />
sowohl auf einen einzelnen Rechner als auch auf mehreren Rechnern konfiguriert werden.<br />
Die Kommunikation zwischen den Komponenten erfolgt über XML-basierte Schnittstellen.<br />
Die Kommunikation zwischen den einzelnen Instanzen dieser Schnittstellen ba-<br />
371 Details werden im „Server Installation Guide― von Novell beschrieben<br />
http://www.novell.com/documentation/team_plus_conf/conf10_svrinst/data/bookinfo.html<br />
372 Angaben zur <strong>Version</strong> werden im „Server Installation Guide― zu Novell Conferencing nicht<br />
gemacht.<br />
Seite 393
siert auf wohldefinierten Protokollen, welche das Format (XML), die Struktur, den Inhalt,<br />
die Bedeutung und die Reihenfolge gesendeter Nachrichten zwischen diesen Instanzen<br />
festlegen.<br />
Die Komponenten sind im Einzelnen:<br />
Abbildung 57: Architektur Novell Conferencing 373<br />
� XML Router<br />
Routet die XML-basierte Kommunikation zwischen den Komponenten<br />
� Client Connector<br />
Steuert die ankommenden Verbindungsanfragen der Clients und stellt Benutzersitzungen<br />
zusammen mit dem Sitzungsmanager (Session Manager) her.<br />
� Session Manager<br />
Verwaltet die Benutzersitzungen und erlaubt Benutzern „Instant Messages―<br />
auszutauschen.<br />
� Meeting Controller<br />
Verwaltet laufende Meetings und verteilt Ereignisse eines Meetings an die<br />
Teilnehmer der Meetings.<br />
� Notification Server<br />
Sendet „Hinweis/Ankündigungs-Mails― und „Instant Messages― im Auftrag des<br />
„Meeting Controller― und des „Schedule Server―<br />
373 Aus „Server Installation Guide― zu Novell Conferencing<br />
http://www.novell.com/documentation/team_plus_conf/conf10_svrinst/data/bookinfo.html<br />
Seite 394
� Address Book<br />
Speichern von Adressbüchern von einzelne Personen und von Gruppen<br />
� Schedule Server<br />
Speichert für Meetings Terminplanung, Optionen und Teilnehmer und ruft<br />
diese bei Bedarf ab.<br />
� Voice Bridge<br />
Kontrolle der Telefonieressourcen, herstellen von Verbindungen zu Konferenzen<br />
und einiges mehr.<br />
� Meeting Archiver Server<br />
Erstellt Macromedia Flash-basierte Archive von Meetings in einem Repository,<br />
auf welches über das Web zugegriffen werden kann.<br />
� App Share Server<br />
Überträgt gemeinsame Anwendungsdaten vom vortragenden Meetingteilnehmer<br />
zu den anderen Teilnehmern<br />
� Invitation Web Service<br />
Verbindet Meetingsteilnehmer per „Invitation URL― 374<br />
� External Web Service<br />
Bereitstellung von WebServices für die Anbindungen externer Anwendungen..<br />
Aus der Liste von Komponenten mit der groben Beschreibung ihrer Aufgaben werden<br />
auch schon im Wesentlichen die Funktionen des Conferencing Servers beschrieben.<br />
Werkzeuge<br />
Für die Administration von Novell Conferencing steht eine webbasierte Schnittstelle zur<br />
Verfügung, die sogenannte „Conferencing Administration Console―. Die folgende Abbildung<br />
zeigt die Oberfläche dieser Administrationsschnittstelle 375 .<br />
374 Frei Übersetzt „Einladungs-URL―. Hierbei handelt es sich um eine spezielle URL, die an die<br />
Teilnehmer eines Meetings versendet werden und die einen bestimmten Code enthalten,<br />
der das Meeting identifiziert.<br />
375 Siehe hierzu auch die Inhalte des „Operations Guide― zu Novell Conferecing<br />
http://www.novell.com/documentation/team_plus_conf/conf10_op/data/bookinfo.html<br />
Seite 395
Abbildung 58: Oberfläche der Administrationsschnittstelle zu Novell Conferencing 376<br />
1.4.2 Funktionalitäten<br />
Teaming + Conferencing ist eine Plattform für die Zusammenarbeit von Arbeitsgruppen,<br />
deren Mitgliedern sich aus Mitarbeitern einer Organisation zusammensetzen. Bei Bedarf<br />
können auch externe Teilnehmer eingeladen werden. Das Teamingpaket liefert die<br />
Werkzeuge für eine gemeinsame Bearbeitung und den Austausch von Informationen<br />
und Dokumenten sowie für die Abstimmung und Planung der gemeinsamen Arbeit. Das<br />
Conferencingpaket liefert dann noch die Werkzeuge für die Echtzeitkommunikation, also<br />
Telefon- und Webkonferenzen, Chats und ähnlichem. Dabei können alle Aktivitäten und<br />
Prozesse durch automatische Workflows unterstützt werden. Abbildung 59 zeigt im<br />
Überblick, welche Hauptfunktionen bereitgestellt werden.<br />
376 Aus dem „Operations Guide― zu Novell Conferecing<br />
http://www.novell.com/documentation/team_plus_conf/conf10_op/data/bookinfo.html<br />
Seite 396
Kommunikation Bearbeiten<br />
Telefonkonferenzen<br />
IM & Chat<br />
Presänz<br />
Diskussion<br />
Integrierte<br />
Suite<br />
Verwaltung<br />
Foren<br />
Web Konferenzen<br />
1.4.2.1 Teaming Funktionen<br />
Funktionen<br />
Seite 397<br />
Blogs<br />
Wikis<br />
Gemeinsame<br />
Dokumente<br />
Workflow<br />
Aufgabenverwaltung<br />
Termin- & Kalender<br />
Verwaltung<br />
Abbildung 59: Workflow gesteuerte Collaboration<br />
Die Funktionen der Teamingsoftware orientieren sich an der Bereitstellung von Teamarbeitsplätzen<br />
mit all den Werkzeugen, die ein Team für seine Arbeit benötigt. Die nachfolgende<br />
Tabelle zeigt die verschiedenen Bereiche/Werkzeuge, die auf einem Arbeitsplatz<br />
zur Verfügung gestellt werden können.<br />
Innerhalb eines Arbeitsplatzes besteht die Möglichkeit folgende Funktionsbereiche anzulegen:<br />
Funktionen Details<br />
Team/globale Arbeitsplätze � Erstellen und verwalten von Teamzugehörigkeit<br />
� Verbinden mit eDirectory über LDAP<br />
� Teammitgliedschaft kann abhäbgig sein von folgenden<br />
Eigenschaften:<br />
� Benutzer<br />
� Gruppen<br />
� Organisationen<br />
� Teams können auch aus externen Benutzern bestehen<br />
� Adressbücher der Teams<br />
� Veröffentlichen der Team Mailadressen über eDirectory<br />
zu GroupWise<br />
Team Diskussionsforum � ―threaded‖ Diskussionen für die Teams<br />
� Neue Einträge können Mails an Groupwise versenden<br />
� Benutzer können direkt über Groupwise antworten
Funktionen Details<br />
Team Calendars & Tasks � Teamevents und Aufgaben können im Teaming-Portal erstellt<br />
werden<br />
� Teammitglieder können wählen, ob Sie diese Events und<br />
Aufgaben an Group-Wise geschickt bekommen wollen<br />
� Events und Aufgaben erscheinen als Aufgaben und Termine<br />
im Groupwise System, nicht als Mail<br />
Dokumentenmanagement � Benutzer können Dokumente (Dateien) in den Ordner hochladen.<br />
Bezüglich der Verwendung von unterschiedlichen Dateiformaten<br />
377 gibt es keine Einschränkungen. Einschränkungen<br />
gibt es höchstens in der weiteren Verwendung (siehe nächsten<br />
Punkt)<br />
Workflow � Einfacher Workflow<br />
� Dokumente können im HTML-Format im Browser dargestellt<br />
werden, sofern sie lesbar sind. Verschlüsselte Dokumente<br />
lassen sich also nicht darstellen. Ob sich ein Dokument im<br />
HTML-Format anzeigen lässt, wird in der Benutzerschnittstelle<br />
angezeigt (siehe Abbildung 63). Mit einem Mausklick auf den<br />
HTML-Eintrag erfolgt dann auch die Darstellung der Inhalte im<br />
Browser.<br />
� Dokumente können in Office direkt geöffnet und bearbeitet<br />
werden – das ganze über WebDAV<br />
� Dokumente können ―ausgecheckt‖ werden.<br />
� Vorherige <strong>Version</strong> werden automatisch archiviert; die <strong>Version</strong>ierung<br />
erfolgt über Zeitstempel<br />
� OES/Netware Filesystem kann als Spiegel verwendet werden<br />
– ein sogenannter „virtual import‖<br />
� Manuelles ändern des Status<br />
� Zugriffskontrolle<br />
� Benachrichtigung<br />
� Erweiterter Workflow<br />
� Komplexe Übergänge<br />
� Gleichzeitiger Workflow<br />
Sonstige Teamfunktionen � Befragungen / Surveys<br />
� Wikis<br />
� Blogs<br />
� RSS<br />
� Dashboard<br />
Suche Es wird eine einfache / schnelle Suche bereitgestellt.<br />
377 siehe auch Formatliste im Anhang<br />
Für eine gezielte Suche bietet die erweiterte Suche erheblich<br />
Vorteile.<br />
Die nachfolgende Abbildung 60 zeigt einen Ausschnitt dieser<br />
erweiterten Suche.<br />
Tabelle 61: Novell Teaming Funktionen<br />
Seite 398
Abbildung 60: Erweiterte Suche Novell Teaming<br />
Seite 399
Verwendete Strukturen<br />
Novell Teaming unterscheidet bei den Arbeitsbereiche (Workspace) zwischen drei<br />
Typen:<br />
� Unternehmensweiter globaler Arbeitsbereich<br />
� Arbeitsgruppenweiter Arbeitsbereich<br />
� Persönlicher Arbeitsbereich<br />
Innerhalb jedes dieser Arbeitsbereiche können nach der Einrichtung Unterarbeitsbereiche<br />
und Ordner angelegt werden. Dabei werden die übergeordneten Zugriffsrechte<br />
standardmäßig nach unten vererbt. Diese Zugriffsrechte können durch den jeweiligen<br />
Administrator eines Arbeitsbereiches oder Ordners nachträglich angepasst werden, sofern<br />
dies notwendig ist.<br />
Darüber hinaus gibt es noch die Möglichkeit Projektarbeitsbereiche anzulegen, die speziell<br />
auf die Anforderungen für ein Projektmanagement ausgerichtet sind.<br />
Für jeden Arbeitsbereich können folgende Standardordner angelegt werden:<br />
� Diskussion<br />
� Blog<br />
� Wiki<br />
� Kalender<br />
� Gästebuch<br />
� Datei<br />
� Fotoalbum<br />
� Umfrage<br />
� Aufgaben<br />
� Meilenstein<br />
Neben der Nutzung dieser Standardstrukturen lassen sich auch für spezielle Bedürfnisse<br />
sogenannte benutzerdefinierte Einträge entwerfen und einfügen 378 . Diese sogenannten<br />
Custom Entries können mit Hilfe des „Teaming Administration Portlet― erstellt werden. Es<br />
handelt sich hierbei um Formulare (Forms) und Ansichten (Views) für spezifische Inhaltseinträge.<br />
Diese können genau wie die Standardforms und –views mit Workflows<br />
verbunden werden, wodurch eine weitgehende Anpassung die speziellen Bedürfnisse<br />
einer Behörde möglich ist.<br />
378 Siehe Administration Guide<br />
http://www.novell.com/documentation/team_plus_conf/team10_admin/data/bookinfo.html<br />
Seite 400
Workflows<br />
Novell Teaming beinhaltet die Möglichkeit mit Hilfe des Teaming Administration Portlet<br />
und innerhalb dessen mit dem Workflow Designer einfache Workflows zu definieren.<br />
Hierfür werden die einzelnen Zustände ausgewählt und mit den entsprechenden Zustandsübergängen<br />
miteinander verbunden.<br />
Jeder Zustand ist mit einem Arbeitsschritt verbunden und identifiziert das Ergebnis der<br />
vollständigen Umsetzung dieses Schrittes. Weiterhin zeigt ein Zustand an, wer innerhalb<br />
des Prozesses (Gesamt-Workflow) für den nächsten Schritt verantwortlich ist.<br />
Die Zustandsübergänge definieren die Reihenfolge der Arbeitsschritte und geben an,<br />
wann, wie und/oder unter welchen Bedingungen ein Übergang erfolgen kann. Die nachfolgende<br />
Abbildung zeigt, welche Arten von Übergängen möglich sind.<br />
Abbildung 61: Zustandsübergänge im Novell Teaming Workflow 379<br />
Das Ergebnis der definierten Zustände und Übergänge eines Workflows können dann<br />
grafisch angezeigt werden.<br />
Abbildung 62: Grafische Darstellung eines Workflows in Novell Teaming 380<br />
379 Aus Administration Guide<br />
http://www.novell.com/documentation/team_plus_conf/team10_admin/data/bookinfo.html<br />
380 Aus Administration Guide<br />
http://www.novell.com/documentation/team_plus_conf/team10_admin/data/bookinfo.html<br />
Seite 401
Den Workflow kann man dann mit einem Ordner verbinden, in welchem man den Workflow<br />
nutzen möchte 381 .<br />
Für die Erstellung von komplexeren Workflows wird das zusätzliche und kostenpflichtige<br />
Modul „Advanced Workflow add-on module― 382 benötigt. Hiermit können sogenannte<br />
„Workflow-Fragen― definiert und in Workflows integriert werden. Dies sind Fragen, auf<br />
die ein Benutzer reagieren muss, bevor der nächste Übergang erfolgen kann und der<br />
jeweilige Übergang entsprechend der Antwort reagiert.<br />
Dokumentenunterstützung<br />
In Novell Teaming kann man prinzipiell beliebige Dateien und Dateiformate in einen<br />
Arbeitsbereich oder Ordner hochladen 383 . Dabei kann der Inhalt, sofern er erkennbar ist,<br />
zusätzlich in HTML umgewandelt werden und kann damit Benutzern zur Verfügung<br />
gestellt werden, die nicht über eine entsprechende Anwendung zum Öffnen der Datei<br />
verfügen. Bei einigen Dateien, wie zum Beispiel Bilddateien, ist dies meist nicht möglich,<br />
da der Inhalt nicht ausgelesen werden kann. Dort wo eine Darstellung in HTML möglich<br />
ist, wird dies auch in der Benutzerschnittstelle entsprechend dargestellt (siehe Abbildung<br />
63).<br />
Abbildung 63 Dokumente im HTML-Format darstellen<br />
Um Dokumente zu bearbeiten, stehen in Novell Teaming zwei Möglichkeiten zur<br />
Verfügung:<br />
� Das Dokument auf den Desktop herunterladen, dann bearbeiten und anschließend<br />
wieder hochladen.<br />
� Für einige Dateitypen wird ein Edit-Schalter zur Verfügung gestellt, über den mit<br />
Hilfe eines kleinen Java Applets die mit dem Dateityp verbundene Anwendung<br />
gestartet wird. Der Zugriff erfolgt dabei über die WebDAV-Funktionalität. Beim<br />
Speichern wird dann eine neue <strong>Version</strong> des Dokuments im jeweiligen Arbeitsbereich<br />
erstellt. Im Browser müssen keine weiteren Aktionen vorgenommen werden.<br />
Um die zweite Funktionalität nutzen zu können, muss die Anwendung, mit der das Dokument<br />
bearbeitet werden soll, WebDAV unterstützen. Novell Teaming muss über die<br />
Administration mitgeteilt werden, welche Anwendung dies unterstützt.<br />
381 Details werden im Administration Guide zu Novell Teaming beschrieben<br />
http://www.novell.com/documentation/team_plus_conf/team10_admin/data/bookinfo.html<br />
382 Siehe Administration Guide zu Novell Teaming<br />
http://www.novell.com/documentation/team_plus_conf/team10_admin/data/bookinfo.html<br />
Seite 402
1.4.2.2 Conferencing Funktionen<br />
Die nachfolgende Tabelle gibt noch mal einen Überblick über die Funktionen von Novell<br />
Conferencing. Ein Teil der Funktionalität wurde schon im Rahmen der Beschreibung der<br />
verschiedenen Komponenten von Novell Conferencing vorgestellt (siehe Kapitel III.B<br />
1.4.1.2).<br />
Hauptfunktion Details<br />
Telefon- (Sprach)konferenzen � Unterstützt VOIP<br />
Web-Konferenzen<br />
Seite 403<br />
� Full Duplex (mehrere können zur selben<br />
Zeit sprechen)<br />
� Sprachintegration in einer Webkonferenz<br />
� Verschiedene Rollen (Moderator, Teilnehmer,<br />
Zuhörer, etc.)<br />
� Konferenzen können aufgezeichnet werden<br />
� Wiederverwendbare Konferenzeinstellungen<br />
� Applikations sharing<br />
� Whiteboard<br />
� Desktop sharing<br />
� Co-browsing<br />
� Gemeinsames Bearbeiten<br />
� Abfragesystem<br />
� Breakout sessions<br />
� Teilnehmer Audit<br />
Instant Messaging (IM) � Konversationen<br />
1.4.3 Fazit<br />
� Bidirektional<br />
� Gruppen<br />
� Dateitransfer<br />
� Emoticons<br />
� Aufzeichnen von Gesprächen<br />
� Persönliche Historie zu Personen<br />
� Virusschutz<br />
� Systemmonitoring<br />
Tabelle 62: Novell Conferencing Funktionen<br />
Die Kollaborationsplattform von Novell ist eine zwar noch nicht ganz ausgereifte, aber<br />
schon sehr umfassende Lösung für die gemeinsame Arbeit in Teams, Arbeitsgruppen<br />
und Projekten. Insbesondere die funktionalen Angebote im Bereich der Echtzeit-<br />
Zusammenarbeit stellen in einzelnen Bereichen eine Besonderheit dar. Leichte Schwächen<br />
zeigen sich im Zusammenhang mit der <strong>Version</strong>ierung von Dokumenten und der<br />
flexiblen Vergabe von Metadaten, was sich wiederum auf die Suchfunktion auswirkt.<br />
Trotz allem muss sich Novell Teaming + Conferencing nicht hinter anderen Lösungen<br />
verstecken. Positiv ist weiterhin zu erwähnen, dass zum einen mit ICEcore eine Open
Source <strong>Version</strong> zur Verfügung steht, die schon wesentliche Funktionen von Novell Teaming<br />
liefert und zum anderen das Produkt zum großen Teil auf Open Source Komponenten<br />
aufbaut und überwiegend auf offene Standards setzt.<br />
1.5 Lotus Quickr 8.0<br />
Lotus Quickr wurde von IBM im Juni 2007 erstmalig veröffentlicht 384 . Lotus Quickr lag<br />
zum Zeitpunkt der Erstellung dieses Kapitels 385 in <strong>Version</strong> 8 vor.<br />
Von Lotus Qickr wird in einer Standardausgabe mit zwei Installationsvarianten, als Services<br />
für Lotus Domino oder als Services für WebSphere Portal, vom Hersteller auch als<br />
Java Enterprise Variante bezeichnet, bereitgestellt.<br />
Die Entscheidung, welche der beiden Installationsvarianten zum Einsatz kommen kann<br />
hängt zum einen von den gewünschten Funktionen und zum anderen auch von den vorhandenen<br />
Erfahrung und/oder bestehender Infrastruktur ab. Folgende Gründe können<br />
hier ausschlaggebend sein:<br />
� Es wird schon Technologie eingesetzt beziehungsweise es gibt schon Erfahrungen<br />
mit bestimmten Technologien, wie zum Beispiel Lotus Domino oder<br />
IBM WebSphere).<br />
� Es bestehen Präferenzen oder Anforderungen für eines der unterstützten Betriebssysteme.<br />
� Es werden bestimmte Funktionalitäten gewünscht oder benötigt, die nur von<br />
einer der beiden Variante bereitgestellt werden.<br />
� Das Know-how der IT-Mitarbeiter und/oder der Benutzer präferiert eine der<br />
beiden Varianten.<br />
Hintergrund für das Angebot von zwei Produktvarianten ist laut IBM die Weiterentwicklung<br />
beziehungsweise Fortführung bereits bestehender Produktangebote:<br />
� Lotus Quickr Services für Domino ist das Nachfolgeprodukt von Lotus Quickplace.<br />
Lotus Quickplace Nutzer können im Rahmen ihrer Wartungsverlängerung auf<br />
Quickr migrieren.<br />
� Die Java Enterprise Umgebung von WebSphere Portal beinhaltet seit einiger Zeit<br />
unter anderem auch Dokumentenmanagementfunktionen. Die Quickr Services<br />
der Java Variante bauen auf diesen Funktionen auf und erweitern sie um weitere<br />
Teamfunktionen.<br />
Ziel ist es laut Hersteller, beide Varianten dauerhaft mit den gleichen Funktionalitäten nur<br />
für unterschiedliche Plattformen bereitzustellen. Mit Quickr 8.1, welches für das erste<br />
Halbjahr 2008 angekündigt wird, soll ein erster Schritt in diese Richtung unternommen<br />
werden. So soll in Quickr 8.1 unter anderem die heute noch in der Java Variante fehlende<br />
Teamkalenderfunktionalität verfügbar sein.<br />
384 http://www-03.ibm.com/press/us/en/pressrelease/21756.wss<br />
385 Stand Februar 2008<br />
Seite 404
Welche der beiden Varianten in Frage kommt, muss jede Organisation für sich beantworten.<br />
Neben der oben erwähnten Standardausgabe soll mit Quickr 8.1 eine „Quickr Entry Edition―<br />
zur Verfügung gestellt werden. Diese soll grundlegende Funktionalitäten für den<br />
persönlichen Datei-/Dokumentenaustausch bereitstellen. Zum Beispiel soll es möglich<br />
sein Dokumente in Quickr Bibliotheken hoch- und aus diesen wieder herunterzuladen.<br />
Konnektoren zur Anbindung von Standardanwendungen (siehe auch III.B 1.5.1.2), wie<br />
zum Beispiel Microsoft Office, sollen ebenfalls mitgeliefert werden. Die Quickr Entry Edition<br />
soll für Lotus Notes Nutzer im Rahmen der Wartung ohne zusätzliche Lizenzkosten<br />
bereitstehen.<br />
Lotus Quickr ist eine rein proprietäre Lösung, die in vielen Bereichen auf bewährter<br />
Technologie beruht, wie später noch deutlich werden wird.<br />
1.5.1 Technologie/Architektur<br />
1.5.1.1 Architektur<br />
Wie bereits erwähnt stehen für Installation von Quickr zwei Varianten zur Verfügung.<br />
Diese basieren in Teilen auch auf sehr unterschiedlicher Technologie, was auch schon<br />
durch die Bezeichnungen der Varianten deutlich wird. Diese technologischen Unterschiede<br />
wirken sich ebenso auf die bereitgestellten Funktionalitäten sowie auf die Administration<br />
und Konfiguration aus.<br />
Einen Hinweis auf die verwendete Technologie liefern die Vorgaben und Hinweise zu<br />
den Systemvoraussetzungen.<br />
IBM Lotus Quickr 8.x steht je nachdem, ob man die „Services für IBM WebSphere Portal‖<br />
oder die „Services für IBM Lotus Domino‖ verwenden möchte, für verschiedene Betriebssysteme<br />
zur Verfügung:<br />
� Services für IBM WebSphere® Portal®<br />
o HP-UX on HP Integrity<br />
o Linux on x86<br />
o Windows<br />
� Services für IBM Lotus Domino®<br />
o AIX<br />
o i5/OS<br />
o Solaris<br />
o Windows<br />
Seite 405
Je nach Betriebssystem und Installationsvariante gestalten sich die Systemanforderungen<br />
entsprechend unterschiedlich. Diese werden auf den Webseiten von IBM sehr<br />
ausführlich beschrieben 386 . Nachfolgend wird versucht, an zwei Beispielen die Unterschiede<br />
zu verdeutlichen.<br />
Services für IBM WebSphere<br />
Portal<br />
Linux x86<br />
Betriebssystem Red Hat Enterprise Linux (RHEL)<br />
Enterprise Server (ES),<br />
Advanced Server (AS),<br />
Workstation (WS) and Desktop<br />
for x86-32 V4.0 Update 4<br />
Hardwareanforderungen<br />
� Minimum 4 GB free disk space<br />
for installation for IBM Lotus<br />
Quickr<br />
� CD-ROM drive<br />
� Processor: CPU speeds of latemodel,<br />
mid-range to high-end<br />
servers are re-commended.<br />
Pentium 1 GHz or equivalent at<br />
a minimum.<br />
Production environments should<br />
consider the Pentium 4<br />
processor at 2.5 GHz or higher.<br />
Seite 406<br />
Services für IBM Lotus Domino<br />
Windows<br />
� Microsoft Windows 2003<br />
Standard Edition Server Service<br />
Pack 1 and 2 (Microsoft product<br />
site)<br />
� Microsoft Windows 2003<br />
Enterprise Server<br />
� RAM - 512 MB or more is<br />
recommended<br />
� Disk space - 1.5 GB or more is<br />
recommended<br />
� Disk swap space - 2 times<br />
physical RAM installed<br />
� CD-ROM drive<br />
� Processor: CPU speeds of latemodel,<br />
mid-range to high-end<br />
servers are recommended.<br />
Pentium 1 GHz or equivalent at<br />
a minimum. Production<br />
environments should consider<br />
the Pentium 4 processor at 2.5<br />
GHz or higher<br />
Lotus Domino Server - Lotus Domino 7.0.2 Fix Pack 1<br />
Application Server WebSphere Application Server<br />
V6.0.2.17 Network Deployment<br />
Web Server<br />
� Apache Server 2.0.49, 2.0.52, &<br />
2.0.54<br />
� IBM HTTP Server 2.0.47.1<br />
� IBM HTTP Server 6.0, 6.0.1, &<br />
6.0.2<br />
� Microsoft Internet Information<br />
Services 6.0<br />
� IBM Lotus Domino (as Web<br />
server 7.0.2, 7.0.1, 6.5.5 & 6.5.4<br />
� Sun Java System Web Server<br />
6.1 SP3<br />
� Sun Java System Web Server<br />
6.0 SP9<br />
386 Diese können auf den Webseiten von IBM eingesehen werden<br />
http://www-1.ibm.com/support/docview.wss?rs=3264&uid=swg27009740<br />
-<br />
HTTP server included with Lotus<br />
Domino
Web Browser<br />
LDAP-Verzeichnisserver<br />
Unterstützte Java Runtime<br />
Environments<br />
Für die Web Content<br />
Management Komponente in<br />
Lotus Quickr (wikis, blogs, lists,<br />
authoring portlet, rich text editor,<br />
list viewer, and html viewer)<br />
Software for collaboration -<br />
Domino and Extended Products<br />
(optional)<br />
Services für IBM WebSphere<br />
Portal<br />
Linux x86<br />
� Microsoft Internet Explorer 7.0<br />
for Windows XP<br />
� Microsoft Internet Explorer 6.0<br />
SP2 for Windows XP<br />
� FireFox V2.0<br />
� IBM Tivoli Directory Server 6.0<br />
� IBM Tivoli Directory Server 5.2<br />
� IBM Lotus Domino 7.0.2, 7.0.1,<br />
6.5.5, & 6.5.4<br />
� •Novell eDirectory 8.7.3<br />
� Sun Java System Directory<br />
Server 5.2<br />
� Windows Active Directory 2000<br />
or 2003<br />
� Windows Active Directory<br />
Applilcation Mode (ADAM) 2003<br />
Java Runtime Environments<br />
6.0_01, 5.0_11, 5.0_09, 5.0_06,<br />
1.4.2_12, 1.4.2_10, 1.4.2_08,<br />
1.41_07<br />
� IBM Lotus Domino 7.0.2, 7.0.1,<br />
6.5.5, & 6.5.4<br />
� IBM Lotus Sametime 7.5<br />
(WebSphere Portal 6.0.1+) &<br />
7.0<br />
� IBM Lotus Instant Messaging<br />
and Web Conferencing 6.5.1<br />
� IBM Lotus QuickPlace 7.0<br />
� IBM Lotus Team Workplace<br />
6.5.1<br />
Seite 407<br />
Services für IBM Lotus Domino<br />
Windows<br />
� Microsoft Internet Explorer 7.0<br />
for Windows<br />
� Microsoft Internet Explorer 6.0<br />
SP2 (and patches) (Microsoft<br />
product site)<br />
� Mozilla FireFox V1.7<br />
� Apple Safari 1.2.2 and 1.2.4 on<br />
Mac OS X version 10.4<br />
� IBM Tivoli Directory Server 5.2<br />
and 6.0<br />
� IBM Lotus Domino 7.x & 6.5.x<br />
� Sun ONE System Directory<br />
Server 5.2<br />
� Sun ONE Web Server (was<br />
iPlanet) Enterprize 6.0 SP 4<br />
� Windows Active Directory 2003<br />
Java Runtime Environment<br />
<strong>Version</strong> 5.0<br />
IBM Lotus Sametime 7.5 or 7.5.1<br />
External Security Software - � Netegrity SiteMinder 5.5 and 6.0<br />
Software for license<br />
management<br />
IBM Tivoli License Compliance<br />
Manager<br />
� Multi-Server/LTPA<br />
-
Feeds Support<br />
Services für IBM WebSphere<br />
Portal<br />
Linux x86<br />
� Documents component:<br />
supported levels for publish:<br />
� Atom: 1.0<br />
� RSS: not supported<br />
� Documents component:<br />
supported levels for import:<br />
� Atom: 0.3, 1.0<br />
� RSS: 0.90, 0.91 Netscape,<br />
0.91 Userland, 0.92, 0.93,<br />
0.94, 1.0, 2.0<br />
� Feed reader component:<br />
supported levels for import:<br />
� Atom: 0.3, 1.0<br />
� RSS: 0.91, 0.92, 2.0<br />
� Wiki and blog components:<br />
supported levels<br />
� Atom: 1.0<br />
� RSS: not supported<br />
Seite 408<br />
Services für IBM Lotus Domino<br />
Windows<br />
Konnektoren - � Lotus Quickr connector for<br />
Lotus Notes<br />
� Lotus Quickr connector for<br />
Sametime<br />
� Lotus Quickr connector for<br />
Microsoft Windows Explorer<br />
� Lotus Quickr connector for<br />
Microsoft Office<br />
Tabelle 63: Systemkomponenten und –voraussetzungen Lotus Quickr 8<br />
Nach Angaben des Herstellers sind in beiden Installationsvarianten mit Ausnahmen der<br />
Betriebssysteme alle zum Betrieb benötigten Komponenten enthalten. Das heißt, dass<br />
weder WebSphere Portal noch Lotus Domino Server installiert sein müssen und auch<br />
nicht zusätzlich lizenziert werden müssen.<br />
1.5.1.2 Protokolle und Schnittstellen<br />
Lotus Quickr ist in beiden Installationsvarianten als eine Reihe von Webanwendungen<br />
implementiert und die Benutzer können über Standardbrowser darauf zugreifen und<br />
diese nutzen. Darüber hinaus gibt es einige Zusatztools (z.B. Konnektoren), mit denen<br />
Desktopanwendungen, vorrangig unter Windows, als Clients genutzt werden können.<br />
Die zuvor erwähnten Konnektoren basieren auf Webservice-Technologie. Sie dienen<br />
nicht nur zur Einbindung von Desktopanwendungen, sondern auch als Schnittstelle zu<br />
Anwendungen wie Lotus Sametime, um deren Funktionalitäten in Lotus Quickr zu integrieren.<br />
Derzeit bietet IBM Konnektoren für IBM Lotus Notes, IBM Lotus Sametime, Microsoft<br />
Windows Explorer und Microsoft Office als Bestandteil von Lotus Quickr an. Diese<br />
müssen separat auf den Clients installiert werden. Dieses kann eventuell auch durch die<br />
Benutzer selbst vorgenommen werden, sofern sie die notwendigen Rechte dafür auf
ihren Clients besitzen. Die Konnektoren können dann den Benutzern über den Server<br />
zum herunterladen bereitgestellt werden. Diese Konnektoren sind derzeit nur auf<br />
Windows-Clients einsetzbar. IBM plant die Verfügbarkeit der Konnektoren zu erweitern.<br />
Mit Quickr 8.1 sollen unter anderem Konnektoren für Microsoft Outlook und Lotus<br />
Symphony bereitgestellt werden.<br />
Im Fall der Services für Lotus Domino werden die Webanwendungen über einen Domino<br />
Server zur Verfügung gestellt beziehungsweise auf diesem ausgeführt. Dadurch können<br />
eine ganze Reihe der Dominokomponenten und –dienste durch Quickr genutzt werden.<br />
Hierzu zählen u.a.:<br />
� E-Mail<br />
� Authentisierung und Zugriffssteuerung<br />
� Lotus Domino Off-Line Services<br />
� Lotus Domino-Domänensuche (Suche über verschiedene Bereiche und mehrere<br />
Server)<br />
� Lotus Domino-Verzeichnisservice<br />
Dieser kann optional für die Benutzerverwaltung verwendet werden. Es können<br />
aber auch andere LDAP-Verzeichnisdienste hierfür genutzt werden.<br />
� (Lotus Notes) Schablonen als Basis für die Erstellung und Bereitstellung von<br />
Webseiten für die unterschiedlichen Arbeitsbereiche.<br />
Entsprechend werden im Fall der Services für WebSphere Portal Komponenten und<br />
Funktionalitäten der Portalsoftware verwendet.<br />
1.5.1.3 Sicherheitsaspekte<br />
Autorisierung<br />
Die Autorisierung erfolgt über die Zuweisung von Rollen, die mit unterschiedlichen Zugriffsrechten<br />
ausgestattet sind. Standardrollen sind:<br />
� Leser<br />
Darf nur die Inhalte lesen für die er autorisiert wurde.<br />
� Autor<br />
Darf in den Teambereichen auf die er Zugriff hat (autorisiert wurde), neue Inhalte<br />
erstellen, verändern und löschen.<br />
� Manager<br />
Darf ergänzend zu den Autorenrechten auch neue Benutzer für seine Teambereiche<br />
anlegen, ändern und löschen.<br />
Seite 409
� Super Administrator<br />
Hat volle Zugriffsrechte.<br />
� Entwickler<br />
Darf neue Komponenten hinzufügen, die dann durch andere Benutzer verwendet<br />
werden dürfen.<br />
Weitere Rollen können nach Bedarf definiert und zugewiesen werden. Die Rollenzuweisung<br />
kann für einzelne Benutzer und für Benutzergruppen vorgenommen werden. Zugriffsrechte<br />
können hiermit für alle Inhaltsstrukturelemente erteilt werden.<br />
Authentisierung und Zugriffssteuerung<br />
Services für Lotus Domino<br />
Die Authentisierung erfolgt standardmäßig über Benutzerkennung und Passwort. Weiterhin<br />
kann die Lotus Domino-Einzelanmeldung genutzt werden, um Benutzern die Anmeldung<br />
an einem Server zu ermöglichen, ohne dass sie während der Sitzung zur erneuten<br />
Anmeldung aufgefordert werden.<br />
Die Zuteilung von Zugriffsrechten erfolgt rollenbasiert und über Benutzergruppen. Die<br />
Zuweisung der Rechte erfolgt bereichsweise, wobei sich die Rechte in der hierarchischen<br />
Anordnung der Bereich von Oben nach Unten vererben. Ein Bereichsadministrator<br />
kann jedoch die Rechtezuteilung für einen Bereich anpassen.<br />
Sinnvoll ist es, für die Benutzerverwaltung ein LDAP-Verzeichnis zu integrieren. Erst<br />
dadurch können den Benutzern folgende Funktionen zur Verfügung gestellt werden 387 :<br />
� Authentisierung über die Einzelanmeldung<br />
� Superuser-Zugriff auf den/die Server<br />
� Benutzernamen in Doppelbytezeichensätzen<br />
� „Meine Bereiche‖ für die Auflistung persönlicher Bereiche<br />
� Integration von Lotus Sametime Funktionen<br />
Weitere Vorteile sind:<br />
� Zentrale Haltung der Benutzerdaten<br />
� Externe Mitglieder von Arbeitsgruppen erhalten bei zentraler Haltung einen<br />
einheitlichen Namen und ein Kennwort. Bei lokaler Haltung in den Bereichen<br />
können unterschiedliche Namen und Kennworte verwendet werden.<br />
� Die lokale Zugehörigkeit zu Bereichen wird weiterhin unterstützt. Das bedeutet,<br />
dass ein Benutzer einem oder mehreren Bereichen als Mitglied zugeordnet<br />
werden kann.<br />
Die Steuerung des Verzeichnisdienstes kann entweder von Lotus Quickr oder vom Lotus<br />
Domino Server übernommen werden. Dies kann über die Administrationsumgebung kon-<br />
387 Siehe auch im Administratorhandbuch zu Lotus Quickr<br />
http://publib.boulder.ibm.com/infocenter/lqkrhelp/v8r0/index.jsp<br />
Seite 410
figuriert werden. Wenn die Steuerung durch den Domino Server übernommen wird, kann<br />
Quickr ein beliebiges Verzeichnis aus der Liste aller vom Domino Server verwendeten<br />
Verzeichnisse nutzen 388 .<br />
Services für WebSphere Portal 389<br />
Standardmäßig erfolgt die Authentisierung über Benutzerkennung und Passwort über<br />
Mechanismen des Portals beziehungsweise des Application Servers. Darüber hinaus<br />
unterstützt Quickr die Authentisierung über SSL-Clientzertifikate sowie die automatische<br />
Anmeldung über eine sogenannte „Anmelde-URL‖. In einer solchen Anmelde-URL sind<br />
Benutzerkennung und Passwort enthalten. Ein solches Anmeldeverfahren ist aus Sicht<br />
der IT-Sicherheit nicht zu empfehlen.<br />
Auch hier besteht die Möglichkeit der Nutzung von Einzelanmeldungen, diesmal aber<br />
nicht unter Zuhilfenahme von Domino-Technologie, sondern mit Hilfe von WebSphere<br />
Technologie.<br />
Genau wie bei der Verwendung der Services für Lotus Domino besteht auch die Möglichkeit<br />
der Integration eines Verzeichnisdienstes als Benutzerverzeichnis für eine zentrale<br />
Haltung der Benutzerdaten. Andererseits können auch durch Realm-Unterstützung<br />
Benutzer aus verschiedenen Verzeichnisstrukturen zusammengeführt werden und<br />
Quickr als einheitliche Benutzergruppe präsentiert werden.<br />
Alternativ besteht die Möglichkeit, die Benutzer in der Lotus Quickr-Datenbank zu verwalten.<br />
Hinsichtlich der Zugriffssteuerung werden bei der Verwendung der Services für WebSphere<br />
Portal vergleichbare Strukturen verwendet, wie bei der Verwendung der Services<br />
für Lotus Domino. Die Zuteilung von Rechten erfolgt rollenbasiert und Ressourcenbezogen.<br />
Alle Ressourcen, wie zum Beispiel Web Module und Portlet Anwendungen,<br />
sind hierarchisch angeordnet und die Zugriffrechte werden immer von Oben nach Unten<br />
vererbt. Für jede Ressource können die Zugriffsrechte dann individuell verändert werden.<br />
Mit dieser kurzen Darstellung wird lediglich versucht, das grundlegende Prinzip aufzuzeigen.<br />
Insgesamt handelt es sich hierbei aber um detailreiche Mechanismen, deren<br />
Darstellung im Administratorhandbuch mehrere Seiten einnimmt 390 .<br />
Clustering und Replikation<br />
Zur Sicherstellung einer bedarfsgerechten Verfügbarkeit und Performanz bei den Zugriffen<br />
auf Lotus Quickr besteht die Möglichkeit, die Funktionen entweder von Lotus Domino-Clustering<br />
und –Replikation oder der WebSphere Funktionen für den Aufbau eines<br />
Clusters und die Synchronisierung der Bereichsinhalte zwischen den Servern zu nutzen.<br />
388 Laut Administratorhandbuch sogar mehr als einen, siehe<br />
http://publib.boulder.ibm.com/infocenter/lqkrhelp/v8r0/index.jsp<br />
389 Siehe Administratorhandbuch für Lotus Quickr<br />
http://publib.boulder.ibm.com/infocenter/lqkrhelp/v8r0/index.jsp<br />
390 Siehe Administratorhandbuch für Lotus Quickr<br />
http://publib.boulder.ibm.com/infocenter/lqkrhelp/v8r0/index.jsp<br />
Seite 411
Sonstiges<br />
Problematisch ist, dass wesentliche Funktionalitäten nur genutzt werden können, wenn<br />
aktive Inhalte zugelassen werden. Dies ist aus Sicht der IT-Sicherheit bedenklich. Hier<br />
sollten in jedem Fall die Hinweise des Bundesamt für Sicherheit in der Informationstechnik<br />
zur „Sicherheit im Internet― 391 , zum Umgang mit aktiven Inhalten 392 und zu Web 2.0 393<br />
berücksichtigt werden.<br />
1.5.2 Funktionalitäten<br />
1.5.2.1 Lotus Quickr Services für Lotus Domino<br />
Die Unterstützung der Zusammenarbeit in Arbeitsgruppen mit Hilfe von Lotus Quickr<br />
erfolgt in definierten Arbeitsbereichen, die sich in unterschiedliche funktionale Bereiche<br />
gliedern.<br />
In diesen Arbeitsbereichen können Arbeitsgruppen mit Hilfe der verschiedenen Funktionen,<br />
wie Blogs, Wikis, Tasks sowie Chats und Online-Besprechungen (nur zusammen<br />
mit Lotus Sametime) oder der gemeinsamen Bearbeitung und Nutzung von Dokumenten<br />
zusammenarbeiten. Daneben gibt es eine Reihe weiterer Funktionen, die in der nachfolgenden<br />
Tabelle zusammengefasst aufgeführt werden.<br />
In den Arbeitsbereichen können mit Hilfe von Vorlagen, Schablonen und Schemas, sowie<br />
bereitgestellten Funktionen und Oberflächen auf relativ einfache Weise neue Bereiche<br />
und Schablonen erstellt werden.<br />
Innerhalb der angelegten Arbeitsbereiche können je nach Funktion folgende Aktivitäten<br />
durchgeführt werden:<br />
� Erstellen von Dokumenten<br />
� Bearbeiten, kopieren, verschieben und löschen von Dokumente<br />
� Hinzufügen von Anhängen<br />
� Erstellen und Bearbeiten von Einträgen in Kalendern<br />
� Verwaltung von Zugriffrechten<br />
� Über neue und geänderte Inhalte informieren<br />
� Hochladen von Dateien mit den folgenden Formaten, sofern Windows Internet<br />
Explorer als Browser eingesetzt wird:<br />
o HTML- oder HTM-Dateien<br />
o XML-Dateiformate von MS Office 2007 (*.docx , *.pptx und *.xlsx)<br />
391 http://www.bsi.de/fachthem/sinet/allgemeines/sinetstd.htm<br />
392 http://www.bsi.de/fachthem/sinet/gefahr/aktiveinhalte/index.htm<br />
393 http://www.bsi.de/literat/studien/web20/index.htm<br />
Seite 412
o .doc/.xls/.ppt-Dateien von MS Word 2000/XP/2003, sofern die jeweiligen<br />
MS Office Anwendungen installiert sind<br />
o Bilddateien vom Typ .Gift, .jpg oder .jpeg<br />
Funktionen Details<br />
Dokumentenmanagement Dokumente/Inhalte ein- oder auschecken<br />
<strong>Version</strong>ierung von Dokumenten<br />
Kategorisierung von Dokumenten (Metadaten)<br />
Verwaltung von Aufgaben (Tasks) Mit Hilfe von speziellen Aufgabenordnern können Aufgaben<br />
verwaltet werden.<br />
Tasks können mit Hilfe von PlaceBot bei Verwendung<br />
der Services für Lotus Domino automatisiert überwacht<br />
werden.<br />
―Meine Bereiche" Der Ordner "Meine Bereiche" besitzt die Funktion, eine<br />
Liste aller Bereiche eines Benutzers, in denen er Mitglied<br />
ist, zusammenzustellen.<br />
Die einzelnen Bereiche können sich dabei durchaus auf<br />
unterschiedlichen Servern eines Lotus Quickr Verbundes<br />
befinden.<br />
E-Mail Mit Hilfe der E-Mailfunktion können eingehende E-Mails<br />
bearbeitet werden und es können neue Mitglieder einige<br />
laden werden.<br />
Die E-Mailfunktion kann für jeden Arbeitsbereich eingerichtet<br />
werden.<br />
Abonnements Es können verschiedene Informationsquellen abonniert<br />
werden, wie z.B. RSS-Feeds oder Infobriefe<br />
Portalfunktionen � Wikis<br />
� Blogs<br />
� Personalisierungsfunktion<br />
Automation/Workflow � Mit Hilfe von sogenannten Masken können Workflows<br />
realisiert werden<br />
Lotus Quicker stellt einige Standard-Workflows zur<br />
Verfügung 394 .<br />
� PlaceBots ermöglichen die automatisierte Verfolgung<br />
und Überwachung von Tasks<br />
RSS-Feeds Können in verschiedenen Arbeitsbereichen, wie zum<br />
Beispiel Blogs oder Wikis eingerichtet werden.<br />
394 Siehe Benutzerhandbuch und Administrationshandbuch<br />
http://publib.boulder.ibm.com/infocenter/lqkrhelp/v8r0/index.jsp<br />
Seite 413
Funktionen Details<br />
Echtzeit-Kolaboration Chatfunktion und Präsenzanzeige können durch die<br />
Integration von IBM Lotus Sametime mittels des verfügbaren<br />
Konnektors und entsprechender Konfiguration 395<br />
bereitgestellt werden.<br />
Es besteht dann weiterhin die Möglichkeit<br />
� Online-Besprechungen (Telefonkonferenzen<br />
und e-Meetings) zu planen<br />
� dazu einzuladen<br />
� daran teilzunehmen<br />
hierzu stehen ein Kalender und ein Zeitplanungssystem<br />
zur Verfügung<br />
Suche Erwähnenswert ist vor allem die Erweiterte Suche, sie<br />
ermöglicht die gezielte Suche nach:<br />
� Ordnern<br />
� Chats<br />
� Räumen<br />
� Inhalten<br />
Bezüglich Inhalten kann wiederum gezielt gesucht werden<br />
nach:<br />
� Autoren<br />
� einem bestimmten Erstellungsdatum<br />
� konkreten Textstücken<br />
Die Suche kann auf einen Bereiche begrenzt oder auf<br />
alle Bereiche (auch über mehrere Server) ausgeweitet<br />
werden.<br />
Offline-Bereiche Ein Bereich kann als Kopie auf dem Client (z.B. Notebook)<br />
abgelegt werden und dann offline genutzt werden.<br />
Dieser Bereiche kann mit dem Online-Bereich synchronisert<br />
werden.<br />
Struktur der Arbeitsbereiche<br />
Tabelle 64: Funktionen von Lotus Quickr Services für Domino<br />
Für die Zusammenarbeit in Arbeitsgruppen werden in Lotus Quickr Bereiche bereitgestellt.<br />
Bereich werden dabei durch Lotus Notes-Datenbanken (NSF-Dateien) realisiert 396 .<br />
Die Struktur einer Datenbank wird durch entsprechende Schablonen, welche die Formulare<br />
und Felder beinhalten, definiert. Für die Anlage von einem Bereich stellt Quickr drei<br />
verschiedene Arten von Schablonen zur Verfügung 397 :<br />
395 Siehe Benutzerhandbuch und Administrationshandbuch<br />
http://publib.boulder.ibm.com/infocenter/lqkrhelp/v8r0/index.jsp<br />
396 Mehr zu Schablonen finden Sie unter<br />
http://www.ibm.com/developerworks/lotus/documentation/dominodesigner/<br />
397 Siehe Benutzerhandbuch, Services für Lotus Domino, Abschnitt: „Einen Bereich erstellen―<br />
http://publib.boulder.ibm.com/infocenter/lqkrhelp/v8r0/index.jsp<br />
Seite 414
� Standard<br />
Diese Schablone stellt Funktionen wie beispielsweise Inhaltsverzeichnis, Diskussion,<br />
Aufgaben, Kooperation, Mitgliederordner zur Verfügung.<br />
� Blog<br />
Diese Schablone ermöglicht die Anzeige von Informationen im Stil eines Tagebuches,<br />
sie beinhaltet u.a.:<br />
o Inline-Kommentare,<br />
o einen Kalender,<br />
o eine Suchfunktion,<br />
o das Einrichten eines RSS-Feeds vor<br />
� Wiki<br />
Diese Schablone liefert die Vorlage für einen Bereich, der vor allem auf Kooperation<br />
setzt und Interaktion unterstützt. Sie beinhaltet unter anderem auch<br />
das Einrichten eines RSS-Feeds.<br />
Schablonen können verändert werden und es können weitere Schablonen mit dem kostenpflichtigen<br />
Lotus Domino Designer erstellt werden 398 . Weiterhin gibt es Schablonen,<br />
die von Drittanbietern kostenfrei zur Verfügung gestellt werden 399 .<br />
Innerhalb eines Bereichs wird zwischen logischen Räumen unterschieden. Jeder Raum<br />
wiederum kann weitere Räume enthalten. Daneben enthält jeder Raum Ordner und<br />
Masken sowie einen Mitgliedsordner.<br />
Ordner werden nach Typen für unterschiedliche Funktionen unterschieden:<br />
� Einfache Liste<br />
� Diskussion<br />
� Sortierte Liste<br />
� Präsentation<br />
� Ordner mit Kopfzeile<br />
Zu den Listen gehören beispielsweise Mitteilungslisten, Kontaktlisten und Projekttasklisten.<br />
Masken sind Eingabemasken mit hinterlegten Funktionalitäten, wie z.B. die Überprüfung<br />
einer Eingabe oder ein Workflow, der ausgeführt wird. Masken können selbst erstellt<br />
oder als HTML- oder MS Office-Datei importiert werden.<br />
Automation<br />
In Lotus Quickr Services für Lotus Domino werden Workflows mittels Masken realisiert.<br />
Allerdings handelt es sich hierbei um relativ einfache Workflows 400 . Zu den mitgelieferten<br />
398 http://www-306.ibm.com/software/lotus/products/dominodesigner/<br />
399 http://templates.snapps.com/<br />
400 Zu der Frage, ob und wenn ja, wie Workflows geändert oder selbst erstellt und integriert<br />
werden können, war bisher nicht in Erfahrung zu bringen.<br />
Seite 415
Workflows, die bei der Erstellung oder Änderung einer Maske ausgewählt werden können,<br />
sind:<br />
� Nur einreichen<br />
Dem Autor wird lediglich eine Möglichkeit zu Veröffentlichung eingeräumt.<br />
� Chefredakteur<br />
Das Dokument soll durch ein bestimmtes Mitgliede geprüft und freigegeben<br />
werden.<br />
� Freigabe<br />
Das Dokument soll durch mehrere Mitglieder geprüft und freigegeben werden.<br />
� Mehrere Bearbeiter<br />
Alle Mitglieder mit Autorzugriffrechten im aktuellen Bereich dürfen jedes mit<br />
der Maske erstellte Element bearbeiten.<br />
Für die automatisierte Verfolgung und Überwachung der Aufgabenerledigung können<br />
sogenannte PlaceBots verwendet werden. Hierbei handelt es sich um Agenten, die Daten<br />
innerhalb eines Bereichs verwalten und bearbeiten können. Diese Agenten können<br />
sowohl zeit- als auch eventgesteuert arbeiten. Erstellt werden diese entweder auf Basis<br />
von Java oder mit Lotus-Script.<br />
1.5.2.2 Lotus Quickr Services für Webspere Portal<br />
Genau wie bei der Verwendung der Services für Lotus Domino stehen den Arbeitsgruppen<br />
Blogs, Wikis, Tasks sowie Chats und Online-Besprechungen (nur zusammen mit<br />
Lotus Sametime) oder die gemeinsame Bearbeitung und Nutzung von Dokumenten für<br />
die Zusammenarbeit zur Verfügung.<br />
Daneben gibt es eine Reihe weiterer Funktionen, die in der nachfolgenden Tabelle zusammengefasst<br />
aufgeführt werden.<br />
Funktionen Details<br />
Dokumentenmanagement � Dokumente/Inhalte ein- oder auschecken<br />
� <strong>Version</strong>ierung von Dokumenten<br />
� Kategorisierung von Dokumenten (Metadaten)<br />
Verwaltung von Aufgaben (Tasks) Mit Hilfe von speziellen Aufgabenordnern können Aufgaben<br />
verwaltet werden.<br />
"Meine Bereiche" Der Ordner "Meine Bereiche" besitzt die Funktion, eine<br />
Liste aller Bereiche eines Benutzers, in denen er Mitglied<br />
ist, zusammenzustellen.<br />
Die einzelnen Bereiche können sich dabei durchaus auf<br />
unterschiedlichen Servern eines Lotus Quickr Verbundes<br />
befinden.<br />
Seite 416
Funktionen Details<br />
E-Mail Mit Hilfe der E-Mailfunktion können eingehende E-Mails<br />
bearbeitet werden und es können neue Mitglieder einige<br />
laden werden.<br />
Die E-Mailfunktion kann für jeden Arbeitsbereich eingerichtet<br />
werden.<br />
Abonnements Es können verschiedene Informationsquellen abonniert<br />
werden, wie z.B. RSS-Feeds oder Infobriefe<br />
Portalfunktionen � Wikis<br />
� Blogs<br />
� Personalisierungsfunktion<br />
Automation/Workflow Workflows werden bei Verwendung der Services für<br />
WebSphere Portal durch die sogenannten Verbundanweisungen<br />
realisiert 401 .<br />
RSS-Feeds Können in verschiedenen Arbeitsbereichen, wie zum<br />
Beispiel Blogs oder Wikis eingerichtet werden.<br />
Echtzeit-Kolaboration Chatfunktion und Präsenzanzeige können durch die<br />
Integration von IBM Lotus Sametime mittels des verfügbaren<br />
Konnektors und entsprechender Konfiguration402<br />
bereitgestellt werden.<br />
Es besteht dann weiterhin die Möglichkeit<br />
� Online-Besprechungen (Telefonkonferenzen<br />
und e-Meetings) zu planen<br />
� dazu einzuladen<br />
� daran teilzunehmen<br />
hierzu stehen ein Kalender und ein Zeitplanungssystem<br />
zur Verfügung<br />
Dokumentenbearbeitung Der Standardeditor für Lotus Quickr ist der ―Richt Text-<br />
Editor‖.<br />
Um Desktopanwendungen, wie zum Beispiel Office-<br />
Anwendungen, für die Arbeit mit Dokumenten nutzen zu<br />
können, muss das ―Bibliotheks-Browser-Plug-in‖ im<br />
Browser installiert und aktiviert werden. Laut Hersteller<br />
muss dafür ActiveX und das Erstellen von Scripts konfiguriert<br />
sein. Als unterstützte Browser werden<br />
� Microsoft Internet Explorer und<br />
� FireFox<br />
angegeben 403 .<br />
401 Siehe Benutzerhandbuch und Administrationshandbuch<br />
http://publib.boulder.ibm.com/infocenter/lqkrhelp/v8r0/index.jsp<br />
402 Siehe Benutzerhandbuch und Administrationshandbuch<br />
http://publib.boulder.ibm.com/infocenter/lqkrhelp/v8r0/index.jsp<br />
403 Es werden allerdings keine Angaben zu <strong>Version</strong>en gemacht (siehe<br />
http://publib.boulder.ibm.com/infocenter/lqkrhelp/v8r0/index.jsp)<br />
Seite 417
Funktionen Details<br />
Suche In Lotus Quickr Services für Portal stellt eine Portalsuchfunktion<br />
zur Verfügung. Damit wird die Indexierung von<br />
Informationsquellen erleichtert und die Suche verbessert.<br />
Bereichsstrukturen 404<br />
Die Suche wird über das Suchzentrum bereitgestellt. Die<br />
folgenden wichtigen Suchfunktionen können genutzt<br />
werden:<br />
� Filterung der Suchergebnisse auf Basis verschiedener<br />
Attribute<br />
� Verwendung eines oder mehrerer Suchservices<br />
� Verwendung von Suchbereichen zur Eingrenzung der<br />
Suche<br />
� Erstellen von Suchgruppen<br />
� Crawlersuche in mehreren Webseiten, Portalseiten<br />
und Unterdomänen<br />
� Suchfunktionen wie im Internet<br />
� Durchsuchen von Dokumenten<br />
� Sprachunterstützung<br />
� Kategorisierung in einer Taxonomie<br />
� Bearbeitung von Dokumentmetadaten<br />
Tabelle 65: Funktionen von Lotus Quickr Services für WebSphere Portal<br />
Auch hier erfolgt die Strukturierung nach Bereichen, dabei werden beim Anlegen eines<br />
neuen Bereichs folgende Bereichstypen angeboten:<br />
� Angepasst<br />
Hier werden nur einige Standardkomponenten installiert. Anschließend kann<br />
der Benutzer den Bereich Stück für Stück weiter ausgestalten und die benötigten<br />
Komponenten hinzufügen.<br />
� Bibliothek<br />
Bibliotheksbereiche sind Sammelstellen für Dokumente und Mediendateien.<br />
� Besprechungsbereich<br />
Dieser Typ ist speziell auf Organisations- und Verwaltungsfunktionen für Arbeitsgruppenbesprechungen<br />
ausgerichtet. Bestandteil dieses Bereichs ist<br />
auch eine Bibliothek (Unterbereich) für die besprechungsrelevanten Dokumente.<br />
� Projektbibliotheksbereich<br />
Dieser Bereich ist speziell auf die Arbeit in Projekten ausgerichtet.<br />
404 Siehe Benutzerhandbuch und Administrationshandbuch<br />
http://publib.boulder.ibm.com/infocenter/lqkrhelp/v8r0/index.jsp<br />
Seite 418
� Team-Blog<br />
Dieser Bereichstyp ermöglicht die Darstellung von Informationen in Form eines<br />
Tagebuches.<br />
� Team-Bereich<br />
Dieser Typ stellt einen Bereich bereit, wo verschiedene Teaminhalte verwaltet<br />
werden können. Bestandteil eines solchen Bereichs sind die weiteren Bereiche<br />
Blog und Bibliothek, um einen große Funktionsvielfalt abzubilden.<br />
� Team-Wiki<br />
Dieser Typ ist insbesondere auf die Unterstützung von Interaktionen ausgerichtet.<br />
Die Vorlagen für die verschiedenen Bereichstypen basieren auf Schablonen und können<br />
bei Bedarf angepasst oder durch benutzerdefinierte Schablonen ergänzt werden.<br />
Automation<br />
Zur Realisierung von Workflows wird in Lotus Quickr Services für WebSphere Portal das<br />
Konstrukt der Verbundanwendung verwendet. Für die Erstellung von Verbundanwendungen<br />
werden Anwendungsschablonen verwendet 405 . Sie bieten die Möglichkeiten auf<br />
einfache Weise neue Verbundanwendungen zusammenzustellen. Hierfür steht eine Reihe<br />
von Schablonen in einer Anwendungsschablonenbibliothek zur Verfügung. Auf Basis<br />
dieser Schablonen können auch neue Schablonen erstellt und in die Bibliothek integriert<br />
werden. Mit Hilfe der Schablonen werden für die Verbundanwendungen diverse Elemente<br />
definiert, beispielsweise die Eigenschaften, die Rollen und ihre Parameter. Für einige<br />
der Schablonen können auch Workflows definiert werden. Als Standardworkflow wird der<br />
Freigabeprozess von Dokumenten mitgeliefert, sowohl für eine parallele als auch eine<br />
serielle Freigabe..<br />
1.5.2.3 Verwaltungs- und Administrationswerkzeuge<br />
Für die Administration und Verwaltung einer Quickr-Umgebung bei Verwendung der<br />
Services für Lotus Domino stehen bei einer Installationsvariante als Services für Lotus<br />
Domino zum einen die Werkzeuge von Lotus Quickr und zum anderen die Werkzeuge<br />
von Lotus Domino in Kombination zur Verfügung. Hierzu gehören:<br />
� Lotus Quickr<br />
o Das „QPTool‖<br />
Dieses wird über die Serverkonsole mit Befehlen und zugeordneten<br />
Parametern ausgeführt.<br />
o Die Konfigurationsdatei ―qpconfig.xml‖<br />
o Die „Site-Verwaltung‖ auf der Homepage des Servers<br />
Hierbei handelt es sich um eine Web-basierte Administrationsschnittstelle,<br />
über welche die Verbindung zum Benutzerverzeichnis herges-<br />
405 Siehe Lotus Quickr Benutzerhandbuch, Services für WebSphere Portal, Verbundanwendungen,<br />
http://publib.boulder.ibm.com/infocenter/lqkrhelp/v8r0/index.jsp<br />
Seite 419
� Lotus Domino<br />
tellt, der Zugriff auf den/die Server gesteuert und andere Konfigurationen<br />
verwaltet werden können.<br />
o Der Domino Administrator-Client<br />
o Die Konfiguration über das Domino-Verzeichnis „names.nsf‖<br />
o Die Konfigurationsdatei notes.ini<br />
Bei der Verwendung der Services für WebSphere Portal werden die Verwaltungswerkzeuge<br />
mit dem zu Grunde liegenden WebSphere Portal bereitgestellt beziehungsweise<br />
es können die Werkzeuge verwendet werden, die mit Portal bereitgestellt werden. Hierzu<br />
zählen:<br />
1.5.3 Fazit<br />
� Eine Reihe von Verwaltungsportlets für die Verwaltung der Portalressourcen<br />
� Eine XML-Konfigurationsschnittstelle für Stapelverarbeitung von Verwaltungsaufgaben<br />
� Eine Skript-basierte Schnittstelle zur Erstellung eigener Verwaltungsskripts,<br />
zum Beispiel für die Automatisierung von Verwaltungsaufgaben.<br />
Positiv festzuhalten bleibt, dass mit Lotus Quickr eine Kollaborationssoftware verfügbar<br />
ist, die einen umfangreichen Korb an Funktionen für die Unterstützung der Zusammenarbeit<br />
in Teams mitbringt, die weiterhin serverseitig mehr als nur eine Betriebssystemplattform<br />
unterstützt und auf bewehrter Technologie des Herstellers aufbaut.<br />
Ob die Tatsache, dass die Software mit ihren beiden Installationsvarianten, einmal als<br />
Services für Lotus Domino und das andere mal als Services für WebSphere Portal, auf<br />
zwei unterschiedlichen (Application)Server-Plattformen aufbaut und genutzt werden<br />
kann, positiv oder negativ zu bewerten ist, muss vorläufig noch unbeantwortet bleiben.<br />
Ungünstig ist, dass der Hersteller hierzu keine prägnanten Hinweise liefern kann, welches<br />
die ausschlaggebenden Kriterien für die eine oder die andere Wahl sein sollten. Es<br />
wird auch nicht deutlich, ob und wo es vielleicht wesentliche Unterschiede in den Funktionen<br />
gibt. Im Rahmen der hier durchgeführten Betrachtungen konnten nur Indizien aufgedeckt<br />
werden, die funktionelle Gründe gegebenenfalls bei den Möglichkeiten der Offline-Nutzung<br />
und der Workflowgestaltungs- und –nutzungsmöglichkeiten sehen.<br />
Abschließend bleibt festzuhalten, dass für die Nutzung weiterer Funktionalitäten, wie<br />
zum Beispiel „Echtzeitkommunikation― zusätzliche kostenpflichtige Software des Herstellers,<br />
wie Lotus Sametime, beschafft werden muss.<br />
Ungeünstig stellt sich die heute noch bestehende einseitige Ausrichtung und Abhängigkeit<br />
auf Windows und Microsoftprodukte sowie -dateiformate im Clientbereich dar. Trotz<br />
der Tatsache, dass es sich bei Lotus Qickr eigentlich um eine Webanwendung handelt,<br />
wird für eine optimierte Nutzung aller Funktionen zusätzliche Software auf Clientseite<br />
benötigt, die heute nur für Windows, Microsoftprodukte, -dateiformate und eigene Produkte<br />
verfügbar ist.<br />
Seite 420
C Thema Office / Desktop<br />
1 Produkte / Technologien<br />
Im Fokus der nachfolgenden Betrachtung zu den Office-Suiten stehen die Standard-<br />
Anwendungen von Microsoft Office (kurz MS Office) und OpenOffice.org/StarOffice (kurz<br />
OOo/SO). Eine erneute Betrachtung der Migrationsoptionen mit Blick auf diese<br />
Anwendungsgattung erscheint aufgrund der Veröffentlichung von MS Office 2007 sowie<br />
der neuen <strong>Version</strong>en von OpenOffice.org (OpenOffice 2) und Sun (StarOffice 8)<br />
erforderlich.<br />
Alle Office-Produkte haben seit der Veröffentlichung des letzten <strong>Migrationsleitfaden</strong>s<br />
(<strong>Version</strong> 2.1) insbesondere hinsichtlich der Dateiformate einen erheblichen Wandel vollzogen.<br />
So verwendet die aktuelle Office <strong>Version</strong> von Microsoft ein neues, nun gänzlich<br />
auf XML basierendes (Standard-)Dateiformat. Das von OpenOffice.org beziehungsweise<br />
StarOffice genutzte Standarddateiformat ist nach kleinen Veränderungen nun ein international<br />
normierter Standard. Dieser Wandel soll in einer neuen aktualisierten Fassung<br />
betrachtet werden um u.a. zu prüfen, welche Änderungen es gab, wie diese sich auf die<br />
Arbeit mit den Office-Suiten auswirken und welche neuen Erkenntnisse sich für die Migrationsentscheidungen<br />
ergeben.<br />
Im nachfolgenden Abschnitt werden die beiden Office-Suiten OpenOffice.org 2 und<br />
StarOffice 8 und Microsoft Office 2007 einander gegenübergestellt. Die Zusammenfassung<br />
von OOo und SO ist darin begründet, dass sich beide Suiten funktional nur gering<br />
voneinander unterscheiden. Der Vollständigkeit halber werden die Vorgängerprodukte<br />
(MS Office 11; SO 7/OOo 1) und deren wesentliche Unterschiede zum Nachfolger dargestellt.<br />
1.1 OpenOffice.org 2 und 1 / StarOffice8 und 7<br />
Die Entwicklung der Basistechnologie der beiden Office-Suiten erfolgt auf Open-<br />
Office.org. Im Jahre 2000 hat Sun Microsystems den Quelltext des damaligen Office-<br />
Pakets StarOffice 5.2 in das Open Source Projekt OpenOffice.org überführt. Das OpenOffice.org<br />
Projekt steht unter der Lizenz LGPL 406 (Lesser GNU Public License), welche<br />
es ermöglicht, kostenpflichtige Produkte aus OpenOffice.org abzuleiten. Andererseits<br />
garantiert sie durch die Wiederverwendung der relevanten Komponenten von OpenOffice.org,<br />
dass die Spezifikationen des API und des ODF-Dateiformates für alle Derivate<br />
einheitlich sind.<br />
Für StarOffice entwickelt die Firma Sun zusätzliche Komponenten und schnürt ein Produktpaket<br />
aus professioneller Qualitätssicherung, umfangreicher Dokumentation, Support<br />
und Schulungsangeboten.<br />
406 Alle OpenOffice.org-<strong>Version</strong>en vor 2.0 wurden parallel dazu unter der Sun Industry Standard<br />
Source License (SISSL) veröffentlicht. Weitere Details dazu finden sich unter<br />
http://www.openoffice.org/FAQs/license-change.html, sowie in Abschnitt 3.13.5.1 der <strong>Version</strong><br />
2.1 des <strong>Migrationsleitfaden</strong>s.<br />
Seite 421
Einige der Sun-Komponenten sind:<br />
� Migrations-Tools,<br />
� Zusätzliche Vorlagen und Grafiken,<br />
� TrueType Fonts, welche an die Fonts von Microsoft angelehnt sind,<br />
� Eine eigene Rechtschreibprüfung und Thesauri, wobei OpenOffice.org als Standard-Spellchecker<br />
MySpell (LGPL) beziehungsweise die verbesserte Variante<br />
Hunspell seit der <strong>Version</strong> 2.02. verwendet,<br />
� Die Datenbank Adabas-D der Firma Software AG.<br />
Des Weiteren liefert Sun Bug-Patches oder Servicepacks für die jeweiligen Produktversionen.<br />
So gibt es derzeit alle drei Monate ein StarOffice Servicepack für jede <strong>Version</strong> 407 ,<br />
das verbesserte Sicherheitsaspekte, Korrekturen für Programmfehler oder Verbesserungen<br />
der Importfilter beinhaltet. OpenOffice.org hingegen enthält diese Komponenten<br />
nur in der jeweils allerneuesten <strong>Version</strong> und man muss sich das gesamte Produktpaket<br />
herunterladen.<br />
Die StarOffice Suite ist im Gegensatz zu der freien OpenOffice.org Suite kostenpflichtig,<br />
wobei Sun Microsystems erstere kostenfrei an Schüler, Studenten und akademische<br />
Einrichtungen abgibt. Darüber hinaus ist StarOffice 8 seit August 2007 als Bestandteil<br />
des kostenlosen Google Packs 408 erhältlich.<br />
1.1.1 OpenOffice.org 2.x / StarOffice 8<br />
Die <strong>Version</strong>sfamilie 2.x ist die aktuelle <strong>Version</strong> der freien OpenOffice,org Office-Suite,<br />
welche nach ca. zweijähriger Entwicklung erstmals im Oktober 2005 veröffentlicht wurde<br />
und die Vorgängerversionsfamilie 1.1.x ablöst. Fast zeitgleich mit dem Release der<br />
neuen <strong>Version</strong> wurde noch eine <strong>Version</strong> 1.1.5 veröffentlicht, welche einen Importfilter für<br />
das neue Dokumentenformat ODF der Nachfolgerversionsfamilie beinhaltete.<br />
OpenOffice.org ist unter Microsoft Windows, Linux, Mac OSX, Solaris, FreeBSD und<br />
anderen Unix-Derivaten lauffähig und wird unentgeltlich unter der LGPL-Lizenz vertrieben.<br />
StarOffice 8 basiert auf den Quellen von OpenOffice.org 2.x und enthält, wie erwähnt,<br />
diverse Erweiterungen, die Sun Microsystems beisteuert. Es existieren Installationspakete<br />
für Microsoft Windows, Linux und Solaris.<br />
Zentrale Neuerungen gegenüber den älteren <strong>Version</strong>en OpenOffice.org 1.1.x beziehungsweise<br />
StarOffice 7 sind ein eigenes Datenbankmodul (Base), ferner die Verwendung<br />
des OpenDocument Formates (ODF) als Standard-Dateiformat, welches von OA-<br />
SIS auf Grundlage des alten OpenOffice.org-Dateiformats spezifiziert und im Jahr 2006<br />
als internationale Norm veröffentlicht wurde (siehe dazu ISO/IEC 26300) sowie eine verbesserte<br />
Unterstützung von MS-Office-Dokumenten.<br />
407 Die aktuellen Service Packs sind seit Oktober 2007 für StarOffice 6 (Service Pack 8), Star-<br />
Office 7 (Service Pack 11) und StarOffice 8 (Service Pack 8) erhältlich.<br />
408 Siehe dazu http://pack.google.com/.<br />
Seite 422
Weitere Neuerungen finden sich im Bereich der Benutzersteuerung, den weiterentwickelten<br />
Import- und Exportfiltern sowie der Unterstützung digitaler Signaturen, die erstmal in<br />
OOo integriert wurde. Die Benutzeroberfläche wurde teilweise geändert, um der von MS<br />
Office 2003 näher zu kommen und dadurch den Benutzern anderer Office Suiten den<br />
Umstieg zu erleichtern.<br />
1.1.1.1 Bestandteile und Funktionalitäten<br />
Die Office-Suiten beinhalten alle wesentlichen Einzelanwendungen, die von anderen<br />
Office-Paketen bekannt sind. Auf eine Auflistung aller Funktionalitäten der nachfolgend<br />
angeführten Office Komponenten wird an dieser Stelle verzichtet. Vor allem sollen im<br />
Wesentlichen nur die Kernanwendungen Textverarbeitung, Tabellenkalkulation und<br />
Präsentationswerkzeug genauer betrachtet werden. Dies sind die Anwendungen, die in<br />
fast allen Office-Suiten verfügbar sind. Alle anderen Anwendungen variieren zum Teil,<br />
müssen anderen Themen, wie zum Beispiel den Datenbanken zugeordnet werden oder<br />
können auch als Einzelanwendung gesehen werden. Bei den Office Anwendungen<br />
handelt es sich im Einzelnen um:<br />
Writer (Textverarbeitung)<br />
Bei Writer handelt es sich um die Textverarbeitungskomponente der Office-Suiten. Das<br />
Programm unterstützt alle Funktionen einer modernen Textverarbeitung und orientiert<br />
sich dabei an den von Microsoft Word angeboten Funktionalitäten. Zur besseren Bearbeitung<br />
umfangreicher Schriften können einzelne Textdokumente (.odt) nachträglich zu<br />
einem gemeinsamen Globaldokument (.odm) zusammengefügt werden. Besonders hilfreich<br />
ist in diesem Zusammenhang der sogenannte Navigator, der verschiedene Überblicksansichten<br />
und Gliederungen bietet und somit das Auffinden bestimmter Informationen<br />
und die Orientierung in langen Dokumenten erleichtert.<br />
Formatvorlagen können für einzelne Zeichen, Absätze, Rahmen, Listen, Kapitel und<br />
Seiten eingerichtet werden. Innerhalb der Texte können verschiedene Verzeichnisse,<br />
wie Inhalts-, Stichwort-, Abbildungs-, Literatur-, Tabellen-, Objekt- und Literaturverzeichnisse<br />
erzeugt und angepasst werden. Über Live-Hyperlinks und Textmarken<br />
kann direkt zu Textstellen gesprungen werden. Für das Schreiben wissenschaftlicher<br />
Arbeiten kann der Anwender zudem auf einen Formeleditor und eine Literaturdatenbank<br />
zurückgreifen. Der Formeleditor besitzt eine Vielzahl von kategorisierten Symbolen zur<br />
Darstellung von Mengenoperationen, Relationen, Funktionen, Operatoren und Attributen.<br />
Die Literaturdatenbank kann für die automatische Generierung eines Literaturverzeichnisses<br />
genutzt werden. Dazu trägt der Anwender seine Quellen mittels einer Maske<br />
in eine Tabelle ein und kann sie später als Literaturverzeichniseinträge in das Dokument<br />
einfügen.<br />
Seite 423
Calc (Tabellenkalkulation)<br />
Abbildung 64: Der Navigator in OpenOffice.org Writer<br />
Calc ist eine Tabellenkalkulation, mit der sich Daten in Tabellenform darstellen und<br />
bearbeiten lassen. Diese können manuell oder unter Verwendung einer Datenquelle<br />
eingefügt werden. In OpenOffice.org angemeldete Datenquellen lassen sich im zuletzt<br />
betrachteten Fall mittels einer Funktionstaste einblenden und die darin enthalten Daten<br />
per Drag and Drop in die Tabellenblätter übernehmen. Die Rohdaten verschiedener<br />
Datenquellen können so gesammelt und weiter verarbeitet werden, wobei die Möglichkeit<br />
besteht, „natürlichsprachige Formeln― wie zum Beispiel =´Stückzahl´*´Preis´ zu<br />
verwenden. Bestimmte Datenbereiche können ein- oder ausgeblendet werden. Ein<br />
„Datenpilot" hilft bei der Analyse von Zahlenmaterial. Es besteht die Möglichkeit, in<br />
Berechnungen, die aus mehreren Faktoren bestehen, die Auswirkungen von Änderungen<br />
einzelner Faktoren zu beobachten. Außerdem existieren zur Verwaltung umfangreicher<br />
Tabellen verschiedene vordefinierte Szenarien, bei denen der Anwender auf die<br />
Hilfe diverser Assistenten zurückgreifen kann<br />
Zellenformatierungen und Tabellendarstellung können den Bedürfnissen angepasst oder<br />
mittels integrierten Vorlagen formatiert werden. Rechenfunktionen und individuelle Formeln<br />
lassen sich vom Anwender direkt erstellen oder anpassen. Im Gegensatz zur Vorgängerversion<br />
können Tabellenblätter nun 65536 statt bisher 32000 Zeilen enthalten,<br />
wodurch insbesondere die Kompatibilität zu Microsoft Excel verbessert wird.<br />
Abbildung 65: Natürlichsprachige Formeln in OpenOffice.org Calc<br />
Seite 424
Impress (Präsentation)<br />
Impress ist das Präsentationswerkzeug der OpenOffice.org Office Suite und kann als<br />
Pendant zu Microsoft PowerPoint verstanden werden. Mit diesem Tool können grafische<br />
Darstellungen, Animationen und Foliensätze erstellt und bearbeitet werden. Die Präsentationen<br />
lassen sich dabei mit Diagrammen, Zeichenobjekten, Text, Multimedia- und<br />
anderen Elementen versehen. Außerdem stehen Vorlagen zur Erstellung professioneller<br />
Dias zur Verfügung, denen dynamische Effekte, einschließlich Animationen und Übergangseffekte<br />
zugeordnet werden können. Die Anpassung der Gestaltung ganzer Präsentationen<br />
wird durch Masterfolien vereinfacht. Hier lassen sich wiederkehrende Elemente<br />
wie Grafiken, Hintergrundfarben, Kopf- und Fußzeile oder einfacher Text einfügen,<br />
die dann für alle Folien zur Verfügung stehen. Das Speichern der Dokumente ist in<br />
verschiedenen OpenOffice.org- und StarOffice-Formaten sowie als Microsoft PowerPoint<br />
Präsentation oder Vorlage möglich. Es besteht darüber hinaus die Möglichkeit des Exports<br />
nach Flash, HTML oder XHTML sowie in unterschiedliche Grafikformate, beispielsweise<br />
PNG, JPG, GIF und dem Format für skalierbare Vektorgraphiken SVG.<br />
Gleich nach dem Start der Anwendung wird dem Nutzer ein Assistent für die Präsentationserstellung<br />
zur Seite gestellt, der auch während des Arbeitens aufgerufen werden<br />
kann. Die Ansicht kann während des Bearbeitens geändert und mittels einer Vorschaufunktion<br />
können Effekte und Animationen angepasst werden. Insgesamt hat Impress seit<br />
der <strong>Version</strong> 2.0 eine neue Anwendungsoberfläche erhalten, die sich stärker an Microsoft<br />
PowerPoint anlehnt und damit gerade für Umsteiger die Arbeit erleichtert<br />
Weiter Anwendungen<br />
� Draw (Grafik)<br />
Draw ist ein vektorbasiertes Grafikprogramm, in dem sich 2D- sowie 3D-Grafiken<br />
erstellen und bearbeiten lassen. Es sind Vorlagen für Zeichnungselemente und<br />
eine Auswahl an anpassbaren Formen enthalten. Dazu zählen Standardformen,<br />
Symbolformen, Blockpfeile, Flussdiagramme und Legenden für das Einfügen von<br />
Kommentaren. Tabellen, Diagramme, Formeln und andere in OpenOffice.org erzeugte<br />
Elemente können in Zeichnungen einfügt werden.<br />
� Math (Formeleditor)<br />
Bei Math handelt es sich um ein Tool, mit dem sich grafisch mathematische Gleichungen<br />
und komplexere Formelstrukturen darstellen lassen. Dieser Formeleditor<br />
darf jedoch nicht mit einem mathematischen Rechenprogramm verwechselt<br />
werden. Die Funktionen beschränken sich ausschließlich auf die grafische Erstellung<br />
und Bearbeitung mathematischer Formeln.<br />
� Base (Datenbank)<br />
Mit Base enthält OpenOffice.org erstmals ab der <strong>Version</strong> 2 ein eigenes Modul für<br />
die Verwaltung, Erstellung und Bearbeitung von Datenbanken und bringt mit<br />
HSQLDB zugleich ein JAVA-basiertes, plattformunabhängiges und relationales<br />
SQL-Datenbank-Management-System mit, das seine Daten in HSQL-<br />
Datenbanken im XML-Format speichert.<br />
Sun Microsystems stellt seit Oktober 2007 einen Report Builder zur Verfügung,<br />
der die Erstellung von Datenbank-Reports deutlich vereinfacht und verbessert.<br />
Seite 425
Neben den hier genannten Funktionsbausteinen existieren viele freie und proprietäre<br />
Lösungen, die OpenOffice.org ergänzen und Bereiche (zum Beispiel Calendaring-<br />
und Groupware-Funktionen) abdecken, die von den Microsoft Office Anwendungen<br />
adressiert werden 409 .<br />
1.1.1.2 Programmierung, Makros und Automatisierungsmöglichkeiten<br />
Die teilweise sehr intensive Nutzung der Office-Programmierung muss sowohl im Hinblick<br />
auf die Schwierigkeiten, die diese immer wieder mehr oder weniger für jede Form<br />
der Migration mit sich bringen und die Interoperabilität mit anderen Office-Anwendungen<br />
behindern, als auch im Hinblick auf eine geordnete Wartung und zielgerichteten Support<br />
für solche Softwarestücke, die z.T. sehr versteckt an vielen Stellen in der Office-<br />
Software-Landschaft auftauchen, als zweifelhaft angesehen werden. Grundsätzlich ist<br />
festzuhalten, dass es, wenn es darum geht komplexe Anwendungen zu entwickeln, bessere<br />
und professionellere Lösungsalternativen gibt, die insbesondere mit Blick auf<br />
durchzuführende Migrationen und die Wartung und den Support für solche Anwendungen<br />
deutlich besser eigenen.<br />
Trotz allem sollen die verfügbaren Konzepte hier kurz vorgestellt werden, auch um an<br />
verschiedenen Punkten die Problemstellungen deutlich zu machen,<br />
OpenOffice.org und StarOffice unterstützen das Konzept der Einbettung von Programmcode<br />
in Dokumente und Vorlagen in Form von Makros. Dafür ist in die Office-Suite eine<br />
Entwicklungsumgebung (IDE) integriert, die es dem Anwender ermöglicht, Makros aufzuzeichnen,<br />
zu bearbeiten und zu testen. Neben StarOffice Basic 410 (auch bekannt als<br />
StarBasic und OOoBasic), einem Basic-Dialekt, der der in MS Office verwendeten Sprache<br />
VBA ähnelt, zu diesem aber nicht kompatibel ist, lassen sich Makros auch in den<br />
populären Skriptsprachen Python und JavaScript entwickeln.<br />
Die Nutzung von Makros sollte aus Sicht der IT-Sicherheit grundsätzlich zurückhaltend<br />
erfolgen, da mit diesen Mechanismen auch die Ausführung von bösartigen Makros erfolgen<br />
kann. Dies hat in der Vergangenheit immer wieder zu kleineren und größeren negativen<br />
Auswirkungen geführt.<br />
Für komplexere Erweiterungen der Office-Suiten sowie die Integration mit elektronischen<br />
Geschäftsprozessen und externen Anwendungen bieten OpenOffice.org und StarOffice<br />
die Möglichkeit, sogenannte Extensions 411 hinzuzufügen. Diese sprechen die Office-<br />
Suiten über eine dokumentierte Programmierschnittstelle 412 (API, Application Programming<br />
Interface) an, welche auf der Komponententechnologie UNO 413 (Universal Network<br />
Objects) basiert. Diese ist programmiersprachenunabhängig realisiert und ermöglicht<br />
derzeit, Erweiterungen in C++, Java, Python, CLI (C#, VB.NET und andere Sprachen der<br />
409<br />
http://wiki.services.openoffice.org/wiki/OpenOffice.org_Solutions.<br />
410<br />
Eine Einführung in StarBasic ist unter http://docs.sun.com/app/docs/doc/819-0439?a=load<br />
erhältlich.<br />
411<br />
Ein ähnliches Konzept verfolgen auch der Browser Firefox und der Mail-Client Thunderbird.<br />
412 Siehe http://api.openoffice.org/.<br />
413 Siehe http://udk.openoffice.org/.<br />
Seite 426
.NET-Familie, (vorausgesetzt, es ist eine „.NET-Anbindung― für die jeweilige Plattform<br />
vorhanden), StarBasic, JavaScript und OLE Automation zu schreiben.<br />
Für StarOffice und OpenOffice.org sind jeweils eigene Software Development Kits 414<br />
(SDKs) erhältlich, die Dokumentation und Entwicklungstools zu den Programmierschnittstellen<br />
enthalten. Darüber hinaus gibt es ein Plugin 415 für die Entwicklungsumgebung<br />
NetBeans, welches verschiedene Programmiertasks deutlich erleichtert.<br />
Wizards vereinfachen die initialen Schritte, um Projekte neu aufzusetzen. IDE Support<br />
wie Code-Vervollständigung und kontextsensitive Hilfe vereinfachen das Arbeiten mit<br />
dem API der Office-Suiten. Das Plugin ist kostenlos über das integrierte Plugin Update<br />
Center von NetBeans verfügbar. Die Verfügbarkeit des Quellcodes von OpenOffice.org<br />
sowie die LGPL-Lizenz ermöglichen es außerdem, dass Lösungen, die für einen<br />
Anwender beziehungsweise eine Behörde entwickelt wurden, sehr leicht auch mit<br />
anderen Anwendern beziehungsweise Behörden geteilt werden können; das heißt,<br />
Lösungen müssen nicht mehrfach gekauft und bezahlt werden.<br />
1.1.1.3 Dateiformate<br />
Eine der zentralen Neuerungen von OpenOffice.org 2 und StarOffice 8 ist die Einführung<br />
von ODF (OpenDocument-Format) als Ersatz für das bislang verwendete proprietäre<br />
StarOffice-Format. Ersteres basiert zwar auf letzterem, wurde aber in einem offenen<br />
Standardisierungsverfahren bei OASIS und später bei der ISO weiterentwickelt und erfreut<br />
sich zunehmender Verbreitung und Unterstützung in den Produkten vieler namhafter<br />
Hersteller. Sofern nicht explizit angegeben, werden Dokumente in OpenDocument<br />
Format gespeichert.<br />
Dokumentenart Datei-Endung<br />
Textverarbeitung odt<br />
Textverarbeitung (Vorlage) ott<br />
Zeichnung odg<br />
Zeichnung (Vorlage) otg<br />
Präsentation odp<br />
Präsentation (Vorlage) otp<br />
Tabellenkalkulation ods<br />
Tabellenkalkulation (Vorlage) ots<br />
Diagramm odc<br />
Diagramm (Vorlage) otc<br />
Grafik odi<br />
Grafik (Vorlage) oti<br />
414 Das OpenOffice.org SDK findet sich unter http://api.openoffice.org/SDK/index.html, das<br />
StarOffice SDK unter http://www.sun.com/software/star/staroffice/sdk/index.jsp.<br />
415 Siehe http://wiki.services.openoffice.org/wiki/OpenOffice_NetBeans_Integration.<br />
Seite 427
Dokumentenart Datei-Endung<br />
Formel odf<br />
Formel (Vorlage) otf<br />
Textverarbeitung (Master-Dokument) odm<br />
Textverarbeitung (HTML-Vorlage) oth<br />
Tabelle 66: Datei-Endungen von ODF-Dokumenten<br />
Eng damit verknüpft sind die zahlreichen integrierten Import- und Exportmöglichkeiten in<br />
Datei–Formate anderer Applikationen. Eine komplette Liste aller unterstützten Dateiformate<br />
würde den Rahmen dieses Dokumentes sprengen. Daher folgt eine Auswahl der<br />
wichtigsten unterstützten Dateiformate anderer Hersteller:<br />
Dateiformat Import Export<br />
OpenOffice.org 1.x Dokumente Ja Ja<br />
Microsoft Office 6.0, 95 und 97/2000/XP<br />
(.doc)<br />
Seite 428<br />
Ja Ja<br />
Microsoft Word 2003 XML (.xml) Ja Ja<br />
Rich Text Format (.rtf) Ja Ja<br />
StarOffice <strong>3.0</strong>, 4.0 und 5.0 Ja Ja<br />
Text (.txt, .csv) Ja Ja<br />
(X)HTML (.xhtml, .html, .htm) Ja Ja<br />
DocBook (.xml) Ja Ja<br />
AportisDoc (Palm) (.pdb) Ja Ja<br />
Pocket Word (.psw) Ja Ja<br />
PDF Nein Ja<br />
Adobe Flash Nein Ja 416<br />
1.1.1.4 XML-Technologie<br />
Tabelle 67: Import- und Exportmöglichkeiten in OOo /SO<br />
Durch zahlreiche frei zugängliche Schnittstellen (zum Beispiel Simple API for XML -<br />
SAX, Document Object Model - DOM) und das offene XML-basierte Dateiformat ermöglicht<br />
OpenOffice.org einen flexiblen Zugriff auf alle Funktionen und Daten zum Erzeugen,<br />
Durchsuchen, Zugreifen, Ändern und Löschen von Dokumentinhalten. Neben Open-<br />
Office.org existieren weitere Anwendungen wie z. B. KOffice 417 , Suns StarOffice und<br />
416 Nur Präsentationen<br />
417 http:/www.koffice.org
Google Docs and Spreadsheets, die ebenfalls das in einem öffentlichen Entwicklungsprozess<br />
entstandene OASIS OpenDocument Format verwenden.<br />
Durch das XML-Format und die Entwicklung von Softwarekomponenten kann eine weitgehende<br />
Portabilität der ODF-Dokumente von und zu Office Open XML-Dokumenten<br />
(OOXML) erreicht werden. OOXML ist das von Microsoft favorisierte neue XML-basierte<br />
Standard-Dateiformat in MS Office 2007 418 (siehe auch Kapitel III.C 1.2.4).<br />
Einschränkungen bilden dabei vor allem komplexere Dokumente und eingebettete Tabellen.<br />
Aufgrund des auf XML-basierenden Dateiformats ODF ist die Verwendung anderer<br />
XML-Standards durch XSLT zum Filtern und Konvertieren von XML-Strukturen problemlos<br />
möglich.<br />
Eine Kommunikation über SOAP zu Web Services in OOo/SO besteht derzeit nicht,<br />
kann aber über Java Web Service Bibliotheken implementiert werden.<br />
In OpenOffice.org Dokumenten können HTML-konforme Elemente für die Gestaltung<br />
von Eingabefeldern und Formulare genutzt werden. Ebenfalls unterstützt wird der vom<br />
W3C-Konsortium spezifizierte Standard XForms 419 zur Definition von Formularseiten.<br />
In Bezug auf das Arbeiten mit anwendungsspezifischen XML-Dokumenten beinhalten<br />
beide Office-Suiten einen XSLT-Prozessor, der es erlaubt, Import- und Exportfilter für<br />
beliebige XML-Dateiformate zu erstellen. Mitgeliefert werden zum Beispiel Filter für die<br />
XML-Dateiformate von Microsoft Word 2003 und Excel 2003, sowie auch DocBook, ein<br />
XML-Format, das vorwiegend für die Erstellung technischer Artikel, Bücher und Dokumentationen<br />
verwendet wird.<br />
1.1.1.5 Webservice basierte Integration<br />
Für die Webservice-basierte Integration besitzt OpenOffice.org ebenso wie MS Office<br />
auch ein API 420 . Das OpenOffice.org API ist unabhängig von einer Programmiersprache<br />
oder einem Betriebssystem formuliert. Derzeitig lässt sich OpenOffice.org 2 in den Programmiersprachen<br />
Java, C++, StarBasic und unter Windows mittels OLE/COM-Steuerung<br />
programmieren. Alle Programmiersprachen verwenden dabei das gleiche API, das heißt<br />
das API stellt unabhängig von den verwendeten Dialekten die gleichen Entwicklungsmöglichkeiten<br />
bereit. Sowohl in Java als auch in C++ ist die Entwicklung von Komponenten<br />
möglich, die als Plug-In innerhalb von OpenOffice.org verschiedenste Aufgaben erfüllen<br />
können:<br />
� Neue Chart-Typen<br />
� Neue Calc Funktionen<br />
� Wizards<br />
� Zusätzliche Funktionalität für den Benutzer<br />
� StarBasic Erweiterung.<br />
418 OOXML wurde durch ECMA (European Computer Manufacturers Association) im Dezember<br />
2006 als ECMA-Standard 376 verabschiedet. Die ISO-Standardisierung ist beantragt.<br />
419 http://www.w3c.org/TR/xforms<br />
420 Alle wesentlichen Informationen hierzu unter: http://api.openoffice.org/ (Onlinedokumentation).<br />
Die Spezifikation der Schnittstelle findet sich unter: http://udk.openoffice.org/ .<br />
Seite 429
StarBasic ist die integrierte modulare Skriptsprache in OpenOffice.org und folgt den gleichen<br />
Prinzipien wie VBA. Struktur und Syntax beider Sprachen sind in großen Teilen<br />
sehr ähnlich, wodurch die Portierung vorhandener VBA-Makros nach StarBasic erleichtert<br />
wird.<br />
Neben dem API stellt OpenOffice.org genau wie MS Office eine Entwicklungsumgebung<br />
(Integrated Development Environment (IDE)) zur Verfügung, deren Benutzerschnittstelle<br />
sehr an die der Entwicklungsumgebung von MS Office angelehnt ist, weitere Hinweise<br />
zur Programmier- und Entwicklungsumgebung finden sich im Abschnitt III.C 1.1.1.2,<br />
Programmierung, Makros und Automatisierungsmöglichkeiten).<br />
1.1.1.6 Erweiterungen in StarOffice8<br />
In der Enterprise Edition von StarOffice8 werden einige weitere Funktionalitäten geliefert.<br />
Dazu gehören ein Hilfsmittel zur Migration von Makros und Analysetools zur Risikobewertung<br />
und -abschätzung von Migrationsmöglichkeiten einzelner Dokumente. Darüber<br />
hinaus ersetzt das Java Desktop System (JDS) den aus StarOffice 7 integrierten<br />
StarOffice Configuration Manager.<br />
1.1.2 OpenOffice.org 1 / StarOffice 7<br />
Bei OpenOffice.org 1.x und StarOffice 7 handelt es sich um die Vorgängerversionen der<br />
in Abschnitt III.C 1.1.1) beschriebenen Office-Suiten OpenOffice.org 2.x und StarOffice<br />
8. Um Redundanzen zu vermeiden, konzentriert sich dieser Abschnitt auf die Unterschiede<br />
zu den oben genannten aktuellen <strong>Version</strong>en.<br />
OpenOffice.org 1 wurde im Jahr 2002 veröffentlicht und ging damals als frei erhältliche<br />
Office-Variante aus dem Quellcode des kostenpflichtigen StarOffice 5.2 hervor. Die offensichtlichste<br />
Neuerung gegenüber der alten StarOffice-<strong>Version</strong> ist der Verzicht auf den<br />
integrierten Desktop. In mehreren Stufen wurden Updates angeboten, die u.a. in der<br />
<strong>Version</strong> 1.1 den Export in PDF-Dateien und - in einigen Komponenten - Flash-Dateien<br />
realisieren, ohne dabei zusätzliche Software installieren zu müssen. Die Integration eines<br />
XSLT-Prozessors ermöglicht zusätzlich die Einbindung anderer XML-Dateiformate<br />
und gestattet den Export von OpenOffice-Dateien in andere XML-Formate (DocBook,<br />
XHTML, Word 2003 etc.).<br />
Die letzte Aktualisierung von OpenOffice.org 1.1 fand unter der <strong>Version</strong>snummer 1.1.5<br />
im Jahre 2005 statt. Fast parallel mit dem Release von OpenOffice.org 2 wurde ein Importfilter<br />
für das damals neue OpenDocument Format integriert, der das Öffnen und Lesen<br />
von Dokumenten der <strong>Version</strong> 2 ermöglichen sollte.<br />
Korrespondierend dazu bot Sun Microsystems StarOffice 7 an, welches auf den Quellen<br />
von OpenOffice.org 1.1 basiert. Neben professioneller Qualitätssicherung und erweitertem<br />
Support enthält StarOffice 7 Folgendes:<br />
� Die Datenbankanwendung AdabasD<br />
� Eine kostenpflichtige Rechtschreibprüfung<br />
� Stark erweiterte ClipArt- und Vorlagenbibliotheken<br />
� Import- und Exportfilter für WordPerfect-Dokumente<br />
Seite 430
� Zusätzliche Schriftarten<br />
� Eine angepasste Benutzeroberfläche.<br />
1.1.2.1 Bestandteile und Funktionalitäten<br />
OpenOffice.org 1.1 beinhaltet die folgenden und bereits betrachteten Einzelanwendungen:<br />
� Writer<br />
� Calc<br />
� Impress<br />
� Draw<br />
� Math<br />
Die Datenbankkomponente Base kam erst in der OpenOffice.org 2-Suite beziehungsweise<br />
StarOffice 8 hinzu. Ersatzweise war in StarOffice7, wie erwähnt, die Datenbankanwendung<br />
AdabasD der Software-AG enthalten.<br />
Unterschiede des Funktionsumfanges von OpenOffice.org 1.x und StarOffice 7 gegenüber<br />
der Nachfolgeversion können dahingehend differenziert werde, dass sie einerseits<br />
das Office-Paket in seiner Gesamtheit betreffen, oder sich andererseits nur auf bestimmte<br />
Kernkomponenten erstrecken:<br />
Allgemeine Unterschiede:<br />
Openoffice.org und StarOffice kennen in dieser <strong>Version</strong> nur eine rudimentäre PDF-<br />
Exportfunktion. Einstellmöglichkeiten zum Kompressionsgrad oder Druckbereich sind<br />
nicht möglich. Bezüglich der Usebility wird noch mehr auf Abgrenzung zum Konkurrenzprodukt<br />
Microsoft Office gesetzt. Das bezieht sich auf die Oberflächengestaltung, aber<br />
auch die Benennung einzelner Hilfsmittel. So werden die Formatvorlage Stylist genannt<br />
und die Assistenten Auto-Piloten, was besonders für Umsteiger den Einstieg erschwert.<br />
Die Werkzeugleisten gestallten sich unflexibel und wenig beweglich, wodurch eine individuelle<br />
Einrichtung der Oberfläche erschwert wird. Als Dokumentenformate werden die<br />
alten StarOffice-Formate unterstützt, das OpenDocument-Format war zu diesem Zeitpunkt<br />
noch nicht eingeführt. Import und Export zu den proprietären Microsoft-Formaten<br />
werden zwar angeboten, funktionieren aber nur bei einfach gestalteten Dokumenten. Auf<br />
Vorlagen basierende Dokumente oder animierte Powerpoint-Präsentationen lassen sich<br />
nicht richtig importieren. In Tabellen integrierte Tabellen werden nicht unterstützt, wodurch<br />
der Export in Datei-Formate, welche verschachtelten Tabellen unterstützen (zum<br />
Beispiel Microsoft Powerpoint), beeinträchtigt ist. In Punkto Sicherheit kennt diese <strong>Version</strong><br />
keine Unterstützung digitaler Signaturen.<br />
Spezifische Abweichungen:<br />
In OpenOffice.org1 existiert kein eigenes Modul für die Datenbankverwaltung. Dafür wird<br />
ab der <strong>Version</strong> 1.1 ein sogenanntes Datenquellen-Werkzeug geliefert, mit dem sich Daten<br />
aus verschiedenen Quellen importieren und in Office-Dokumente integrieren lassen.<br />
Für einige Assistenten, die Literaturdatenbank, verschiedene Extensionen und Exportfil-<br />
Seite 431
ter wird das kostenlose Java Runtime Environment (JRE) benötigt. Prinzipiell ist Open-<br />
Office.org aber ohne JRE lauffähig.<br />
1.1.2.2 Programmierung, Makros und Automatisierungsmöglichkeiten<br />
In der Basic-IDE können Makros erstellt werden. Zur Erweiterung der Programmfunktionalität<br />
stehen eine Vielzahl von Vorlagen, Erweiterungen („Add-Ons―) und Makros in den<br />
Sprachen StarOffice Basic und Java zur Verfügung.<br />
1.1.2.3 Dateiformate<br />
Die Hauptanwendungen (Textverarbeitung, Tabellenkalkulation, Präsentationsprogramm)<br />
der <strong>Version</strong>sfamilie 1.1 von OpenOffice.org unterstützten folgende Dateiformate:<br />
� Textdokument (.sxw),<br />
� Textdokumentvorlage (.stw),<br />
� Microsoft Word (.doc),<br />
� Microsoft Word 2003 XML (.xml),<br />
� Rich Text Format (.rtf),<br />
� StarWriter <strong>3.0</strong>, 4.0 und 5.0 (.sdw),<br />
� StarWriter <strong>3.0</strong>, 4.0 und 5.0 Vorlage (.vor),<br />
� Text (.txt),<br />
� HTML Document (OpenOffice.org Writer) (.html und .htm),<br />
� DocBook (.xml),<br />
� AportisDoc (Palm) (.pdb),<br />
� Pocket Word (.psw).<br />
Hinsichtlich der eingebauten Import- und Exportmöglichkeiten in andere Formate verfügt<br />
die <strong>Version</strong> 1.1.5 von OpenOffice.org bereits über einen Importfilter für das Open Document<br />
Format, welcher die Arbeit mit dem neuen Standardformat ermöglicht. StarOffice7<br />
enthält darüber hinaus die Möglichkeit, WordPerfect-Dokumente zu bearbeiten, eine<br />
Fähigkeit, die in OpenOffice.org1.1 nicht enthalten ist.<br />
Im Übrigen werden die gleichen Import- und Exportfunktionen geliefert wie in der Nachfolge-<strong>Version</strong>sfamilie.<br />
Allerdings wurden die Filter zwischenzeitlich verbessert, sodass<br />
die Verwendung alternativer Dateiformate in den neueren <strong>Version</strong>en besser funktioniert.<br />
1.1.2.4 XML-Technologie<br />
In OpenOffice.org 1.1. sind als Eingabeelemente nur HTML-konforme Elemente nutzbar.<br />
Dies wurde mit der <strong>Version</strong> 2.0 von OpenOffice.org beseitigt.<br />
Unter dem Gesichtspunkt der Nutzbarkeit Anwendungsspezifischer XML-Schemas ist es<br />
auf Grund des XML-basierten Standardformats in OpenOffice.org möglich, ein XML-<br />
Schema zu importieren und zu bearbeiten. Nach dem Import eines solchen Schemas<br />
kann ein XML-fähiges Dokument unter Verwendung aller bekannten Funktionen des<br />
Programms wie ein ganz normales Textbearbeitungs-Dokument aufgebaut werden.<br />
Seite 432
Die Fähigkeit zur Webservice-basierten Integration wird durch OpenOffice.org Basic,<br />
einer Programmiersprache aus der Familie der Basic-Programmiersprachen, unterstützt.<br />
Diese ist weitgehend kompatibel mit anderen Basic Sprachversionen wie zum Beispiel<br />
Visual Basic von Microsoft. OpenOffice.org bietet Programmierschnittstellen zu<br />
WRITER-Dokumenten mit Hilfe von UNO (Universal Network Objects) an. Mit UNO<br />
erhält man eine objektorientierte Schnittstelle zu OpenOffice.org-Anwendungen und<br />
OpenOffice.org-Dokumenten.<br />
1.1.3 Zusammenfassung<br />
OOo 2 / SO 8 OOo 1 / SO 7<br />
natives Dateiformat ODF SWX, SWT (Vorlagen)<br />
Eingebaute Importfunktionen<br />
von anderen Formaten<br />
Eingebaute Exportfunktionen<br />
zu anderen Formaten<br />
Erweiterungsmöglichkeiten<br />
Programmierung<br />
Unterstützung von anwendungsspezifischen<br />
XML-<br />
Formaten<br />
Unterstützung, Webservice<br />
basierte Integration in Prozessketten<br />
Lizenzierung<br />
Verfügbarkeit für Betriebssysteme<br />
DOC, XLS, PPT, WordPerfect<br />
PDF, Adobe Flash, (X)HTML,<br />
DOC, XLS, PPT, WordPerfect<br />
Ja, (mit Makros und Java, C++,<br />
JavaScript, Python, Beanshell)<br />
Seite 433<br />
ODF, WordPerfect (v4 – v11),<br />
Lotus Notes 1-2-3 (bis v9.7),<br />
MS Office Formate<br />
PDF, XHTML<br />
Ja (mit Makros und Java, C++<br />
Ja, per XSLT ja, über XSLT Stylesheets<br />
Ja, kann über Java Web Service<br />
Bibliotheken implementiert werden<br />
OpenOffice.org: Freie Software<br />
beziehungsweise LGPL-Lizenz<br />
(GNU Lesser General Public<br />
License von der Free Software<br />
Foundation); StarOffice: kostenpflichtige,<br />
Lizensierung pro Be-<br />
nutzer<br />
OpenOffice.org und StarOffice:<br />
Microsoft Windows, Linux, Solaris;<br />
nur OpenOffice.org: Mac OS<br />
X, FreeBSD und andere Unix-<br />
Varianten.<br />
Bedingt<br />
OpenOffice.org: Freie Software<br />
beziehungsweise LGPL-<br />
Lizenz (GNU Lesser General<br />
Public License von der Free<br />
Software Foundation); StarOffice:<br />
kostenpflichtig, Lizensierung<br />
pro Benutzer<br />
Microsoft Windows, Linux,<br />
Solaris, Mac OS X und weitere<br />
Unix-Varianten.<br />
Tabelle 68: Überblick der Charakteristika von OOo 1/SO 7 und OOo 2/SO 8<br />
1.2 Microsoft Office 2007/2003/2002/97<br />
Microsoft Office ist in der momentan aktuellen <strong>Version</strong> „Microsoft Office 2007― seit<br />
Januar 2007 verfügbar. Mit Microsoft Office 2007 wurden einige wesentliche Änderungen<br />
zur Vorgängerversion Microsoft Office 2003 eingeführt. Dazu gehören insbesondere<br />
das neue XML-basierte Dateiformat Office Open XML, das die vorherigen<br />
Binärformate ablöst sowie eine neu entwickelte, auf den ersten Blick stark veränderte
Benutzeroberfläche. Die bereits in der Vorgängerversion enthaltene umfangreiche Unterstützung<br />
für das Arbeiten mit anwendungsspezifischen XML-Formaten und Webservices<br />
wurden weiter ausgebaut.<br />
Microsoft Office 2007 ist gegenwärtig für alle gängigen Microsoft Betriebssysteme bis<br />
hinunter zu Windows XP verfügbar. Eine <strong>Version</strong> von Microsoft Office 2007 für Mac OS<br />
X ist in Planung. Diese <strong>Version</strong> wird von Microsoft als „Microsoft Office 2008 für Mac"<br />
beziehungsweise „Microsoft Office:mac 2008" bezeichnet und seit dem ersten Quartal<br />
2008 verfügbar 421 .<br />
Innerhalb der öffentlichen Verwaltung ist die Verbreitung von Microsoft Office 2007 zurzeit<br />
noch gering (Stand September 2007). Gegenwärtig überwiegen die Installationen<br />
der verschiedenen Vorgängerversionen von Microsoft Office.<br />
Microsoft Office ist ein kostenpflichtiges Produkt für private und professionelle Anwender.<br />
1.2.1 Bestandteile Office Paket<br />
Microsoft Office wird in verschiedenen Paketen angeboten. Die einzelnen Pakete unterscheiden<br />
sich insbesondere durch die Anzahl von Anwendungen, die zusätzlich zu Microsoft<br />
Word, Microsoft Excel und Microsoft Powerpoint enthalten sind. Nachfolgend wird<br />
ein Überblick über die aktuell verfügbaren Anwendungen in den jeweiligen Paketen am<br />
Beispiel der <strong>Version</strong> 2007 gegeben:<br />
Windows – Office<br />
Anwendung<br />
Basic Home &<br />
Student<br />
Standard<br />
Small<br />
Business<br />
Seite 434<br />
Professional<br />
Ultimate Professional<br />
Plus<br />
Word X X X X X X X X<br />
Excel X X X X X X X X<br />
Powerpoint X X X X X X X<br />
Outlook X X X X<br />
Outlook mit<br />
ContactManager 422<br />
Accounting<br />
Express 423<br />
X X X<br />
X X X<br />
Publisher X X X X X<br />
Enterprise<br />
421 http://www.macoffice2008.com/#ex_fg<br />
422 Volumenlizenzkunden, die Office Professional Plus 2007 oder Office Enterprise 2007 erwerben,<br />
können Office Outlook 2007 mit Business Contact Manager auf der Volumenlizenzdienste-Website<br />
herunterladen oder sich diesbezüglich an ihren Händler wenden.<br />
423 Microsoft Office Accounting Express 2007 ist nur in den USA verfügbar.
Windows – Office<br />
Anwendung<br />
Basic Home &<br />
Student<br />
Standard<br />
Small<br />
Business<br />
Seite 435<br />
Professional<br />
Ultimate Professional<br />
Plus<br />
Access X X X X<br />
InfoPath X X X<br />
Groove X X<br />
OneNote X X X<br />
Communicator X X<br />
Integriertes<br />
Enterprise Content<br />
Management 424<br />
integrierte<br />
elektronische<br />
Formulare 425<br />
erweiterte<br />
Funktionen von<br />
IRM und Richtlinien<br />
426<br />
X X X<br />
X X X<br />
X X X<br />
Tabelle 69: Anwendungen in den jeweiligen Suiten für MS Office 2007; 427<br />
Enterprise<br />
In der Vorgänger-<strong>Version</strong> können diese Paket-Zusammenstellungen und die darin<br />
enthaltenen Komponenten trotz gleicher Bezeichnung leicht differieren.<br />
Im Folgenden werden die in den Paketen enthaltenen Anwendungen mit ihren Funktionen<br />
beschrieben. Microsoft erweitert sein Office-Paket in den letzten Jahren um immer<br />
mehr Anwendungen, die auch als Einzellösungen gesehen werden können, daher<br />
werden diese hier nur kurz erwähnt. Außerdem müssen einige Anwendungen, wie zum<br />
Beispiel Outlook, welches je nach Edition Bestandteil der Office-Suite von Microsoft sein,<br />
müssen durchaus anderen Themen, wie im Falle Outlook dem Thema Groupware oder<br />
im Falle Access dem Thema Datenbanken zugeordnet werden. An dieser Stelle sollen<br />
nur die Kernanwendungen (Textverarbeitung, Tabellenkalkulation, Präsentation) im<br />
Fokus der Betrachtung stehen. Hier hat sich die Sichtweise gegenüber den früheren<br />
<strong>Version</strong>en des <strong>Migrationsleitfaden</strong>s nicht verändert.<br />
Die drei Kernanwendungen in der MS Office-Suite sind:<br />
424 ECM von Microsoft weitet das Content Management für alle Benutzer in einer Organisation<br />
durch die Integration mit bekannten Tools wie Microsoft Office System aus.<br />
425 Die <strong>Version</strong> 2007 von Microsoft Office System bietet Kernfunktionen für das Erstellen und<br />
Ausfüllen von Formularen sowie Forms Services zur Vereinfachung von Verteilung und<br />
Verwaltung elektronischer Formulare.<br />
426 Die <strong>Version</strong> 2007 von Microsoft Office System bietet IRM-Funktionen (Information Rights<br />
Management, Verwaltung von Informationsrechten) sowie Richtlinienkontrollen zum Schutz<br />
digitaler Informationen vor unbefugter Verwendung in Unternehmen und Organisationen.<br />
427 http://office.microsoft.com/de-de/suites/FX101635841031.aspx?pid=CL101732621031
� Microsoft Office Word (Textverarbeitung),<br />
� Microsoft Office Excel (Tabellenkalkulation),<br />
� Microsoft Office PowerPoint (Präsentationen).<br />
Die anderen Anwendungen in der aktuell erhältlichen Office 2007-<strong>Version</strong> sind abhängig<br />
von der gewählten Paketversion:<br />
� Microsoft Office Publisher 2007 (Desktop-Publishing-Programm),<br />
� Microsoft Office Access 2007 (Datenbankverwaltungssystem),<br />
� Microsoft Office OneNote 2007 (Erstellen und Verwalten von Notizen),<br />
� Microsoft Office Outlook 2007 (Groupware-Anwendung einschließlich Mail-Client,<br />
Kontaktmanager, Terminplaner etc.),<br />
� Microsoft Office InfoPath 2007 (Erstellen und Auswerten von elektron. Formularen),<br />
� Microsoft Office Communicator 2007 (Messengersoftware, die verschiedene<br />
Kommunikationsarten erlaubt wie zum Beispiel IM, Video, Sprache),<br />
� Microsoft Office Groove 2007 (Programm, welches durch mitgelieferte Tools und<br />
Kommunikationsmöglichkeiten das Arbeiten in Gruppen unterstützen soll),<br />
1.2.2 Funktionalitäten<br />
Auf eine Auflistung aller Funktionalitäten der oben genannten Office-Anwendungen wird<br />
an dieser Stelle verzichtet. Nachfolgend soll jedoch ein kurzer Überblick gegeben und<br />
auf die wesentliche Funktionen eingegangen werden:<br />
Microsoft Office Word 2007:<br />
Microsoft Office Word 2007 beinhaltet alle Funktionen der Vorgängerversionen. In der<br />
neuen <strong>Version</strong> 2007 fällt dem Betrachter als erstes das neue Oberflächenkonzept auf.<br />
Mit der „Fluent"-Benutzeroberfläche werden die Bearbeitungswerkzeuge bedarfsgesteuert<br />
angezeigt. Hiermit soll ein effizienteres und schnelleres Arbeiten ermöglicht werden.<br />
Die gravierendste Änderung in der neuen <strong>Version</strong> ist mit Abstand das neue Standard-<br />
Dateiformat. Office Open XML (.docx) ersetzt das bisherige binäre Dateiformat (.doc).<br />
Die alten Dateiformate sollen jedoch auch künftig in vollem Umfang unterstützt werden<br />
und die Aufwärtskompatibilität damit gesichert sein. Die Abwärtskompatibilität ist jedoch<br />
nur mit einem Plug-In in den jeweiligen <strong>Version</strong>en ab MS Office 2000 möglich.<br />
Weitere wesentliche Merkmale der <strong>Version</strong> 2007 sind:<br />
� Erweiterte Unterstützung für das Arbeiten mit anwendungsspezifischen XML-<br />
Schemata, da die Inhalte der Dokumente durch das neue Standarddateiformat<br />
auch von produktunabhängigen Lösungen bearbeitet werden können,<br />
� Verbesserte Unterstützung für Web Services, mit denen Daten und Funktionen<br />
aus Anwendungen heraus über Schnittstellen von anderen Anwendungen genutzt<br />
werden können,<br />
Seite 436
� Globale Rechtschreibprüfung, die Änderungen auch für andere Anwendungen<br />
eines Office-Pakets übernimmt.<br />
Microsoft Office Excel 2007:<br />
Microsoft Office Excel 2007 beinhaltet alle bekannten Funktionen der Vorgängerversionen.<br />
Excel ermöglicht es, mit Formeln und Funktionen umfangreiche Berechnungen<br />
durchzuführen. Die Daten können mit Hilfe von Sortier- und Filterfunktionen<br />
sowie Pivot-Tabellen ausgewertet und in Diagrammen grafisch dargestellt werden. Mit<br />
VBA (Visual Basic for Applications) kann der Funktionsumfang von Excel erweitert<br />
werden. Unter Mac ist dies mittels AppleScript möglich.<br />
Weitere wesentliche Merkmale der <strong>Version</strong> 2007 sind:<br />
� In Verbindung mit dem Sharepoint Server 2007 und Excel Services können Tabellen<br />
in Webbrowsern freigegeben und bearbeitet werden. Excel Services bietet<br />
dafür zwei Schnittstellen: eine Web-basierte UI (User Interface), um Excel Tabellen<br />
innerhalb von einem Browser anzusehen und eine Web Service Schnittstelle,<br />
die einen programmatischen Zugang zu veröffentlichten Tabellen erlaubt.<br />
� Erhöhung der Datenmenge auf bis zu 1Mio Zeilen und 16000 Spalten<br />
� Eine verbesserte Diagramm-Funktion<br />
� Neue OLAP-Formeln und Cube-Funktionen lassen mehr Möglichkeiten für die<br />
Arbeit von mehrdimensionalen Datenbanken zu<br />
� Vereinfachte Verbindung zu externen Datenquellen: Eine Angabe der Verbindungsdaten<br />
gibt es in Excel 2007 nicht mehr, die Verbindung wird einfach aus einer<br />
Liste ausgewählt. Mit Hilfe des Verbindungsmanagers wird jede bereits genutzte<br />
Verbindung gespeichert und kann nach neuem Programmstart wieder<br />
verwendet werden.<br />
Microsoft Office Powerpoint 2007:<br />
Mit Microsoft Office Powerpoint 2007 können Vortragsfolien mit Animationen, verschiedenen<br />
Hintergründen und Übergängen erstellt werden. Vortragsfolien können im binären<br />
Powerpoint Dateiformat .ppt, als PDF (Adobe Portable Document Format) oder auch als<br />
XPS (XML Paper Specification Format) gespeichert werden.<br />
Letzteres bedarf jedoch der Installation von Add-Ins, um diese Speicherfunktion nutzen<br />
zu können. Neben dem Standard-Präsentationsformat (.ppt beziehungsweise .pptx und<br />
.pptm für Dateien mit Makros, letzteres nur Windows) wird häufig das Bildschirmpräsentationsformat<br />
(.pps beziehungsweise .ppsx) verwendet, das der sofortigen Anzeige der<br />
Präsentation im Vollbildmodus dient.<br />
Weitere MS Office-Anwendungen<br />
� Microsoft Office Publisher 2007<br />
Microsoft Office Publisher 2007 ist ein Programm für die Erstellung von seiten-<br />
Seite 437
orientierten Dokumenten wie zum Beispiel Marketingmaterialien oder individuellen<br />
Mailings.<br />
� Microsoft Office Access 2007<br />
Office Access2007 ist ein Datenbankverwaltungsprogramm zur Verwaltung von<br />
strukturierten Daten in Tabellen mit definierter Datensatzstruktur und zum Erstellen<br />
von Berichten.<br />
� Microsoft Office OneNote 2007<br />
Microsoft Office OneNote 2007 ist ein Programm für das Aufzeichnen und Verwalten<br />
von Notizen.<br />
� Microsoft Office Outlook 2007<br />
Microsoft Office Outlook 2007 ist ein allgemein bekannter Client für Groupware-<br />
Lösungen, insbesondere MS Exchange.<br />
� Microsoft Office InfoPath 2007<br />
Mit der InfoPath-Anwendung können XML-basierte Formulare erstellt und - aus<br />
Office heraus – auch verwendet werden.<br />
� Microsoft Office Communicator<br />
Microsoft Office Communicator ist eine Instant Messaging Lösung.<br />
� Microsoft Office Groove 2007<br />
Das in Microsoft Office Ultimate 2007 enthaltene Microsoft Office Groove 2007 ist<br />
ein Programm für die Unterstützung von Gruppenarbeit.<br />
1.2.3 Programmierung, Makros und Automatisierungsmöglichkeiten<br />
Die Funktionen der Microsoft Office 2007 Anwendungen können mit Hilfe verschiedener<br />
Technologien erweitert, angepasst und individualisiert werden. Zu den dafür vorgesehenen<br />
Technologien gehören:<br />
� Smarttags - sie erlauben zum Beispiel eine kontext-sensitive Automatisierung<br />
durch Informationen und Aktionen. Sie sind mit Hyperlinks vergleichbar, werden<br />
jedoch dynamisch an Schlüsselwörter oder -phrasen geheftet. Sie basieren auf<br />
COM-Klassen, die eine Erkennungs- und eine Aktionsschnittstelle implementieren.<br />
Erstere ist für die Erkennung der Schlüsselwörter und die zweite für die ausführende<br />
Aktion und Darstellung der Aktionsmenüs zuständig.<br />
� Makros sind kleine, in der Regel in Visual Basic for Applications (VBA) geschriebene<br />
Programme. In Office dienen sie dazu, eine definierte Folge von Befehlen<br />
und Aufgaben automatisiert durchzuführen und so den Nutzer zu entlasten.<br />
� .NET – ist eine von Microsoft entwickelte Softwareplattform für die Entwicklung<br />
von Internetanwendungen, die auf offenen Standards basiert. Konzeptionell be-<br />
steht .NET aus 4 Komponenten: Frameworks and Tools, Building Block Servi-<br />
ces, Enterprise Servers und Mobile Devices. Das Framework ist für die einzelnen<br />
Anwendungen zuständig und steuert den Zugriff auf die Daten, stellt eine<br />
Benutzeroberfläche sowie Klassen-Bibliotheken und Web-Technologien zur Verfügung<br />
(zum Beispiel das Ausführen von Programmen in mehreren Sprachen).<br />
Die Building Blocks Services unterstützen verfügbare Internet-Dienste, zum Bei-<br />
Seite 438
spiel Updates und Suchdienste. Darüber hinaus können mit den Mobile Devices<br />
Anwendungen auf mobilen Geräten laufen.<br />
Innerhalb von behördenspezifischen Softwarelösungen werden Erweiterungen der Funktionalitäten<br />
von Microsoft Office zum Teil intensiv verwendet. So werden zum einen die<br />
mit Microsoft Office verfügbaren Programmierumgebung in vielen Behörden und anderen<br />
Organisationen zur Erstellung dokumentenspezifischer Scripting-Lösungen (Makros)<br />
genutzt, um Arbeitsprozesse mit Microsoft Office weitgehend zu automatisieren. Das<br />
reicht bis zur Implementierung abteilungsübergreifender Workflows. Zum anderen gibt es<br />
in den Behörden eine Reihe externer Softwarelösungen, die mehr oder weniger stark mit<br />
Office integriert sind.<br />
An dieser Stelle ist hervorzuheben, dass diese in Teilen sehr intensive Praxis der Office-<br />
Programmierung im Hinblick auf die Schwierigkeiten, die damit immer wieder verbunden<br />
sind:<br />
� für jede Form der Migration<br />
� der Sicherstellung der Interoperabilität mit anderen Office-Anwendungen<br />
� der Gewährleistung einer geordneten Wartung und einem zielgerichteten Support<br />
für solche Softwarestücke<br />
als zweifelhaft anzusehen ist. Grundsätzlich kann festgehalten werden, dass für die Entwicklung<br />
komplexer Anwendungen bessere und professionellere Lösungsalternativen<br />
zur Verfügung stehen, die insbesondere mit Blick auf durchzuführende Migrationen und<br />
die Wartung und den Support für solche Anwendungen sich deutlich besser eigenen.<br />
Dies sollte auch deutlich werden, wenn man sich ansieht, welche Konzepte hier verwendet<br />
werden.<br />
� Die „Visual Basic― Erweiterungen sind sowohl für Office 97 als auch für Office<br />
2000 und Office 2003 einsetzbar und haben eine entsprechend große Verbreitung.<br />
Die „Visual Basic― Programmierumgebung von Microsoft Office 97 - 2003<br />
basiert auf der Programmiersprache BASIC. Die Visual Basic Sprachfamilie umfasst<br />
aktuell mehrere Dialekte:<br />
� Visual Basic (Visual Studio, Vollversion),<br />
� Visual Basic for Application (VBA),<br />
� Visual Basic Scripting Edition (VBS).<br />
Alle Dialekte haben denselben Grundwortschatz der Syntax, unterscheiden sich aber in<br />
Funktionsumfang und Leistungsfähigkeit. (beispielsweise ist im Gegensatz zu Visual<br />
Basic ein Kompilieren bis zum ausführbaren Maschinencode in VBA nicht möglich).<br />
Die Programmierumgebung von MS Office beinhaltet Visual Basic for Application (VBA).<br />
VBA kann von Microsoft lizenziert werden, sodass Dritthersteller VBA in ihre Produkte<br />
einbauen können.<br />
Als Ausgangspunkt für diesen Leitfaden wird der Einsatz des Office-Paketes 97 oder<br />
höher angenommen. In früheren <strong>Version</strong>en wurden verschiedene Programmierumgebungen<br />
für die einzelnen Produkte bereitgestellt (Word Basic, Excel VBA, Access Basic).<br />
Mit Office 97 wurde die Programmierumgebung auf VBA der <strong>Version</strong> 5 vereinheitlicht.<br />
Seite 439
Die folgende Tabelle zeigt die <strong>Version</strong>ierung von VBA im Zusammenhang mit den verschiedenen<br />
Office <strong>Version</strong>en.<br />
Office <strong>Version</strong>en VBA <strong>Version</strong>en<br />
95 Word Basic, Excel VBA, Access Basic<br />
97 5<br />
2000 6<br />
XP 6.3<br />
2003 6.4<br />
2007 6.5<br />
Tabelle 70: Microsoft Office <strong>Version</strong>en und zugehörige <strong>Version</strong>en von VBA<br />
VBA ist eine Interpretersprache und nur in Microsoft Office Anwendungen ausführbar.<br />
VBA basiert auf COM (Component Object Model), einer proprietären Weiterentwicklung<br />
der Microsoft Technologie OLE (Object Linking and Embedding).<br />
MS Office kann nicht nur COM Objekte verwenden, sondern bietet selbst COM Objekte<br />
an. Office 97 bringt über 550 eigene COM Objekte mit, Office 2000 über 600. Via COM<br />
lassen sich in Office auch externe Funktionalitäten nutzen. Mittels VBA ist es möglich,<br />
externe Programme (zum Beispiel das Betriebssystem) in Form von DLLs (Dynamic Link<br />
Libraries) zu verwenden, In Visual Basic Script (VBS) ist solch eine Einbindung nicht<br />
möglich.<br />
Die folgende Abbildung zeigt noch einmal die Möglichkeiten von VBA, Funktionalitäten<br />
zu nutzen.<br />
Abbildung 66: VBA in der Office Anwendung<br />
In VBA werden die folgenden Bausteintypen unterschieden:<br />
� Module (moduls),<br />
� Klassenmodule (class moduls),<br />
� und Formulare (forms).<br />
Module enthalten allgemeine Prozeduren, die nicht mit einem Objekt verbunden sind.<br />
Klassenmodule (Formular- und Berichtsmodule) dagegen sind mit Objekten verbunden<br />
Seite 440
und rufen bestimmte Ereignisprozeduren auf (zum Beispiel eine Reaktion auf eine Benutzereingabe,<br />
wie das Klicken einer Befehlsschaltfläche).<br />
Diese Bausteine ermöglichen es, in MS Office vorhandene Funktionalitäten zu erweitern,<br />
Abfolgen von Funktionsaufrufen zu automatisieren und zusätzliche Funktionalitäten zu<br />
implementieren. Die Erweiterungen, Automatisierungen und Ergänzungen werden als<br />
Makros und Scriptings bezeichnet. Zur Integration dieser Makros in MS Office lassen<br />
sich insbesondere die Menüleisten und Schaltflächen der Symbolleisten modifizieren,<br />
sodass dem Benutzer deren Starts erleichtert werden.<br />
Spezielle Prozedurnamen (zum Beispiel AutoOpen, AutoNew) kennzeichnen den Programmcode,<br />
der automatisch ausgeführt wird, wenn Office-Dateien geöffnet werden. Dieser<br />
Mechanismus wird häufig in Vorlagen (Templates) verwendet. Da hiermit auch bösartige<br />
Prozeduren („Makroviren") ausgeführt werden können, ist er ein Sicherheitsrisiko.<br />
Insgesamt können Makros und Scriptings in folgenden Formen innerhalb von Office aufgerufen<br />
beziehungsweise integriert werden:<br />
� als Add-In,<br />
� innerhalb von Vorlagen (Templates),<br />
� als Assistenten (Wizards).<br />
Add-Ins unterscheiden sich aufgrund ihrer Verwendbarkeit nochmals:<br />
� COM Add-Ins:<br />
kompilierte DLL- oder EXE-Dateien, die mit einer Visual Basic (Vollversion) erzeugt<br />
werden. Diese Add-Ins können anwendungsübergreifend verwendet werden.<br />
� Anwendungsspezifische Add-Ins:<br />
Anwendungsspezifische Add-Ins werden mittels der integrierten Programmierumgebung<br />
von Office erzeugt und können nur innerhalb Office verwendet werden.<br />
Der Einsatz von Add-Ins ist in der Regel dort anzutreffen, wo der Programmcode<br />
ständig in der Anwendung zur Verfügung stehen soll, ohne dass der<br />
Benutzer eigens dafür bestimmte Vorlagen laden muss.<br />
Mit VBA der <strong>Version</strong> 5 wurde innerhalb der Office Anwendungen eine einheitliche Entwicklungsumgebung<br />
integriert. Das sogenannte IDE (Integrated Development Environment)<br />
wird in einem separaten Fenster gestartet, läuft aber im Prozess der Office Anwendung.<br />
Das IDE bietet:<br />
� Editor mit Syntaxprüfung und Farbhervorhebung,<br />
� Project Explorer,<br />
� zusätzliches Eigenschaftsfenster,<br />
� Debugger-Werkzeuge,<br />
� Object Browser,<br />
� bedingte Compilierung,<br />
Seite 441
� Schutzmechanismen vor Veränderung oder Kopieren des programmierten Codes<br />
und<br />
� IntelliSense (Komplettierung, Drop-Down Auswahl, Infos zur Syntax).<br />
In der Anwendung steht ein Makro-Rekorder zur Verfügung, mit dem Abfolgen von Interaktionen<br />
des Benutzers mit der Anwendung aufgezeichnet und gespeichert werden können.<br />
Durch die Nutzung solcher Funktionalitäten durch die Benutzer wird es noch<br />
schwieriger, bei Migrationen die entsprechenden Makros in den Vorlagen und Dokumenten<br />
ausfindig zu machen, denn die wenigsten Benutzer werden dokumentieren, wann sie<br />
wo welche Makros für ihre Arbeit erstellt haben, gehen aber in der Regel davon aus,<br />
dass diese nach der Migration weiterhin verfügbar sind und funktionieren.<br />
Da Office selbst aus einer Vielzahl von COM Objekten besteht, ist es möglich, Office<br />
mittels der sogenannten COM-Automatisierung 'fernzusteuern'. Zur Fernsteuerung können<br />
zum Beispiel der Windows Scripting Host (WSH) oder PerlScript verwendet werden.<br />
Für die Zukunft zeichnet sich ab, dass Microsoft bezüglich der Officeautomatisierung<br />
verstärkt auf die Visual Studio Tools for Microsoft Office Systems 428 (VSTO) und Visual<br />
Studio Tools for Applications (VSTA) 429 setzt. Hierbei handelt es sich um .Net basierte<br />
Toolsets mit denen zum einen Anwendungen auf Basis der Office-Anwendungen entwickelt<br />
werden können (VSTO) und zum anderen für den Einsatz von .NET-Sprachen angepasst<br />
(VSTA) werden können. VSTO und VSTA reihen sich ein in die Familie der Visual<br />
Studio 2008 Produkte. Die aktuellsten <strong>Version</strong>en sind VSTO <strong>3.0</strong> und VSTA 2.0, die<br />
seit dem 3. Quartal 2007 verfügbar sind. In wie weit hierdurch VBA einmal abgelöst wird<br />
ist heute nicht absehbar. Vorerst, so scheint es, wird Microsoft die VBA-Linie noch weiter<br />
unterstützen.<br />
1.2.4 Dateiformate<br />
Microsoft Office 2007 unterstützt mehrere native Dateiformate. Dazu gehören:<br />
� Die traditionellen binären Microsoft-Dateiformate .doc, .xls, .ppt usw.<br />
� Das neue XML-Dateiformat Office Open XML.<br />
Mit Erscheinen von Office 2007 ersetzt Microsoft die alten binären Formate durch Office<br />
Open XML als Standarddateiformat, das für Word, Excel und Powerpoint durchgängig<br />
verwendet wird. Im Gegensatz zum vorhergehenden Format werden dabei die Inhalte<br />
(Texte, Grafiken, Tabellen etc.) und die Metadaten (das „Layout― von Inhalten) der Dokumente<br />
in Packages abgelegt und in einem ZIP-Archiv komprimiert gespeichert.<br />
Office Open XML wurde der ECMA (European Computer Manufacturers Association) zur<br />
Standardisierung übergeben und wurde im Dezember 2006 als ECMA-Standard 376<br />
verabschiedet. Die ISO-Standardisierung ist beantragt.<br />
Bezüglich der Import- und Exportmöglichkeiten in andere Formate verfügen die Hauptanwendungen<br />
von Microsoft Office 2007 (Textverarbeitung, Tabellenkalkulation und<br />
428 http://msdn2.microsoft.com/de-de/vstudio/aa718674.aspx<br />
429 http://msdn2.microsoft.com/en-us/vsx2008/products/bb933739.aspx<br />
Seite 442
Präsentation) über folgende, teilweise bereits eingebaute Import- und Exportmöglichkeiten<br />
von eigenen älteren Formaten und fremdem Formaten:<br />
� Binärformate (.doc, .xls. .ppt) von vorherigen Microsoft Office <strong>Version</strong>en (Microsoft<br />
Office 97 - 2003)<br />
� WordML (Wordprocessing ML)<br />
� OpenDocument<br />
� PDF.<br />
Die beiden letztgenannten sind nur über Plug-Ins realisierbar.<br />
Neben dem direkten Editieren und Bearbeiten von einzelnen Bestandteilen der<br />
„Packages― ist es in Microsoft Office 2007 möglich, mit durch den Anwender definierten,<br />
anwendungsspezifischen XML-Schemata zu arbeiten. Dabei wird der Anwender durch<br />
eine grafische Benutzeroberfläche unterstützt. Diese ermöglicht u.a. den direkten Import<br />
von anwendungsspezifischen XML-Schemata in ein Dokument. XML-Elemente können<br />
bei Bedarf mit Platzhaltern, z. B. mit einem Beispieltext oder einer Eingabeaufforderung<br />
initialisiert werden. Die hinzugefügten XML-Elemente werden während der Erstellungsphase<br />
farblich hervorgehoben. Beim späteren Einsatz des Dokuments verschwindet<br />
diese farbliche Hervorhebung, sodass die XML-Struktur verborgen bleibt<br />
Nach dem Import eines XML-Schemas kann ein Dokument unter Verwendung aller bekannten<br />
Funktionen des Programms wie ein ganz normales Word-Dokument bearbeitet<br />
werden. Im Labor-Beispiel „Geburtsurkunde― wurde das XML-Schema in das Dokument<br />
eingefügt und dieses anschließend gestaltet.<br />
Seite 443
Abbildung 67: Benutzeroberfläche für das Arbeiten mit XML-Schemas in MS Word 2007<br />
In Abbildung 67 ist die grafische Oberfläche dargestellt. Auf der linken Seite ist das Dokument<br />
zu erkennen, welchem dem XML-Schema zugrunde liegt. Auf der rechten Seite<br />
befindet sich das XML-Struktur-Panel mit einem importierten XML-Schema. Um XML-<br />
Elemente aus dem XML-Schema zum Dokument hinzuzufügen, können diese einfach<br />
mit der Maus per „Drag and Drop― vom XML-Struktur-Panel in das Dokument hineingezogen<br />
werden. Jedoch ist nicht zu unterschätzen, dass eine Validierung der Daten oder<br />
der Struktur in den grafischen Entwicklungstools auch weiterhin nicht möglich ist. Ändert<br />
der Anwender im Dokument die Struktur, so ist das XML-Schema beschädigt. Eine Validierung<br />
kann aber von dem Entwickler selbst implementiert werden. In der neuen Office<br />
2007-<strong>Version</strong> können jedoch vom Entwickler des XML-Schemas die Knoten vor einer<br />
Änderung geschützt werden, damit entfällt eine Implementierung zur Validierung der<br />
Daten.<br />
Für das Speichern von ausgefüllten Dokumenten existieren verschiedene Optionen,<br />
ebenso für die eingegebenen Daten in Eingabefelder, die durch XML-Markup definiert<br />
werden. Sollen die eingegebenen Daten zusammen mit allen anderen Informationen -<br />
also allen im Dokument eingebetteten Daten - als XML gespeichert werden, kann dies in<br />
dem von Microsoft offen gelegten XML-Format Office Open XML erfolgen.<br />
Ebenso ist es möglich, nur die eingegebenen Daten (ohne jegliche Zusatzinformationen)<br />
heraus zu filtern und zu speichern Die so gespeicherten Daten entsprechen automatisch<br />
der Vorgabe des importierten XML-Schemas.<br />
Seite 444
Die nachfolgende Abbildung zeigt einen Ausschnitt aus einem resultierenden XML-<br />
Datensatz.<br />
<br />
<br />
<br />
Jäger<br />
Christoph Jan<br />
<br />
m<br />
07.05.1976<br />
Potsdam<br />
<br />
<br />
4578456<br />
Christoph Jan Jäger<br />
10070024<br />
Deutsche Bank 24<br />
<br />
<br />
Jäger<br />
Christoph Jan<br />
Friedrichstr.<br />
47<br />
10117<br />
Berlin<br />
Christoph.Jaeger@egov06<br />
0301245789<br />
<br />
<br />
Abbildung 68: Datensatz nach dem XML-Schema „Antrag Geburtsurkunde―<br />
Microsoft Office 2007 bietet weiterhin die Möglichkeit einer automatischen Kontrolle der<br />
Daten zum vorgegebenen XML-Schema. Auf diesem Wege können inkorrekte XML-<br />
Datensätze vor dem Export zu beliebigen Webservices, E-Gouvernement-Plattformen<br />
und so weiter erkannt und zurückgehalten werden. Fehlerhafte oder unvollständige Eingaben<br />
werden bereits während der Eingabe markiert. Die Validierung der Eingabe muss<br />
dabei nicht programmiert werden, wie dies noch bei der Vorgänger-<strong>Version</strong> der Fall war.<br />
Microsoft Office 2007 kann alle notwendigen Informationen aus dem XML-Schema herauslesen<br />
und die Validierung automatisch durchführen.<br />
1.2.5 Webservice basierte Integration<br />
Hinsichtlich des Themas Webservice-basierte Integration bietet Microsoft zwei verschiedene<br />
Tools an, um Microsoft Office 2007 mit einer Web Service-Schnittstelle auszustatten.<br />
Die eine Variante bietet das frei herunterladbare Microsoft Office Web-Services<br />
Toolkit 2.0. Mit Hilfe dieses Toolkits und Visual Basic for Applications (VBA) können<br />
Makros programmiert werden, die Anfragen an Web Services stellen, die zum Beispiel<br />
von Backoffice-Prozessen bereitgestellt werden.<br />
Die zweite, weit elegantere Möglichkeit wird durch die Verwendung des .NET Frameworks<br />
geboten. Das frei verfügbare .NET Framework bietet eine Vielzahl von Funktionen<br />
für die Entwicklung von komplexen Web Service-Schnittstellen.<br />
Seite 445
1.2.6 Differenzen der Vorgänger-<strong>Version</strong>en zu MS Office 2007<br />
Die Vorgänger-<strong>Version</strong>en Microsoft Office 2007 sind innerhalb der Verwaltung sehr weit<br />
verbreitet. Es ist sogar davon auszugehen, dass die überwiegende Mehrzahl aller<br />
Arbeitsplätze in den deutschen Verwaltungen mit einer der <strong>Version</strong>en von Microsoft<br />
Office 97 - 2003 ausgestattet ist.<br />
Mit der <strong>Version</strong> Microsoft Office 2003 wurde begonnen, eine umfangreiche Unterstützung<br />
für das Arbeiten mit XML-Dateien in das Office-Paket zu integrieren. Dazu gehören<br />
die Unterstützung des XML-basierten Dateiformats WordprocessingML, ferner die umfangreiche<br />
Unterstützung für das Arbeiten mit anwendungsspezifischen XML-Schemata<br />
und für die Integration in prozessorientierte beziehungsweise serviceorientierte Architekturen<br />
(SOA). Mit nachrüstbaren Erweiterungen können Microsoft Office 2003 Anwendungen<br />
auch das neue XML-Format Open Office XML lesen und schreiben. Sollten diese<br />
Erweiterungen nicht implementiert sein, sind diese <strong>Version</strong>en nicht in der Lage, das<br />
Dateiformat von Office 2007 zu erkennen.<br />
Im Gegensatz zur aktuellen Office-<strong>Version</strong> wurden die vorherigen nicht in einer derartigen<br />
Fülle an Paketen angeboten. Für die 2003er <strong>Version</strong> von Office gab es beispielweise<br />
6 Pakete, unter denen der Anwender wählen konnte (zum Beispiel Professionell<br />
Enterprise Edition, SSL-Edition, Standard-Edition etc.). Wie auch in der aktuellen <strong>Version</strong>,<br />
unterscheiden sie sich in der Anzahl der Anwendungen, die zusätzlich zu den<br />
Kernanwendungen angeboten werden.<br />
1.2.6.1 Bestandteile<br />
Im Folgenden werden diese Kernanwendungen und die wesentlichen Unterschiede zur<br />
aktuellen <strong>Version</strong> am Beispiel der direkten Vorversion Office 2003 kurz vorgestellt. Auf<br />
einzelne Funktionen wie auch die restlichen <strong>Version</strong>en und Anwendungen wird an dieser<br />
Stelle nicht näher eingegangen.<br />
Microsoft Office Word 2003<br />
Mit Microsoft Office 2003 sind mehrere neue Konzepte und Technologien eingeführt<br />
worden, die in der aktuellen <strong>Version</strong> 2007 weiter ausgebaut wurden. Zu diesen Konzepten<br />
und Technologien gehörten insbesondere:<br />
� Die Einführung des offenen, XML-basierten Dateiformats Wordprocessing ML.<br />
� Unterstützung für das Arbeiten mit anwendungsspezifischen XML-Formaten.<br />
� Unterstützung für Automatisierungsprozesse, Workflows und Datenanbindung<br />
durch verschiedene Technologien wie zum Beispiel dynamische SmartDocuments,<br />
durch programmierbare Makros und durch .NET-Programmierung.<br />
Microsoft Office Excel 2003<br />
Mit Microsoft Office Excel 2003 wurden ebenso wie bei der Textverarbeitung Word mehrere<br />
neue Konzepte und Technologien eingeführt, die in der aktuellen <strong>Version</strong> 2007 weiter<br />
ausgebaut wurden. Zu diesen Konzepten und Technologien gehörten insbesondere:<br />
� Import- und Exportfunktionen von und zu beliebigen XML Formaten direkt aus<br />
der Anwendung heraus.<br />
Seite 446
� Unterstützung für die Web Service-basierte Integration.<br />
� Workflows können mit Hilfe von Schaltflächen in der Anwendung angestoßen<br />
werden.<br />
� Weitere Unterstützung für Automatisierungsprozesse, Workflows und Datenanbindung<br />
durch verschiedene Technologien wie zum Beispiel dynamische Smart-<br />
Documents, durch programmierbare Makros und durch .NET-Programmierung.<br />
� Bis Excel 2003 waren die Tabellenblätter noch auf 65.536 Zeilen und 256 Spalten<br />
(von A bis IV) begrenzt. In der aktuellen <strong>Version</strong> wurde die Begrenzung dann<br />
auf 1.048.576 Zeilen und 16.384 Spalten erhöht.<br />
Microsoft Office Powerpoint 2003:<br />
Mit Microsoft Office Powerpoint 2003 können Vortragsfolien mit Animationen, verschiedenen<br />
Hintergründen und Übergängen erstellt werden. Vortragsfolien können im binären<br />
Powerpoint Dateiformat .ppt, als PDF (Adobe Portable Document Format) oder auch als<br />
XPS (XML Paper Specification Format) gespeichert werden. Letzere sind aber nur durch<br />
Plug-Ins möglich.<br />
1.2.6.2 Weiteres<br />
Die Einführung von sogenannten Smarttags erfolgte mit Office 2000. In Office 2003 wurde<br />
die Funktionalität erweitert. Smarttags sind eine Möglichkeit der kontextsensitiven<br />
Automatisierung. Ein Smarttag löst in Reaktion auf eine Eingabe (zum Beispiel ein vorbestimmtes<br />
Wort oder eine bekannte Zahl) eine Funktion aus. Mit Hilfe von Smarttags<br />
lassen sich auch Funktionen in anderen Anwendungen nutzen, wie zum Beispiel das<br />
automatische Öffnen von weiteren Dokumenten. Unterschieden wird zwischen einfachen<br />
Smarttags und COM-basierten Smarttags. Einfache Smarttags werden in XML-Listen<br />
verwaltet, die an einer zentralen Stelle im Rechner-Netzwerk abgelegt werden und dann<br />
allen Anwendern zur Verfügung stehen. COM-basierte Smarttags hingegen werden als<br />
sogenannte Smarttag-Add-Ins verwendet.<br />
1.2.6.3 Dateiformate<br />
Microsoft Office 2003 unterstützt mehrere native Dateiformate, diese sind:<br />
� Die traditionellen binären Microsoft Dateiformate .doc, .xls, .ppt usw.<br />
� Das mit Microsoft Office 2003 eingeführte XML Dateiformat WordprocessingML.<br />
Die Office 2003-<strong>Version</strong>en von Word und Excel boten als erste die Möglichkeit, ihre Dokumente<br />
als XML-Dateien zu speichern. Das dafür zunächst eingesetzte XML Dateiformat<br />
WordprocessingML unterlag allerdings etlichen Einschränkungen. Beispielsweise<br />
gehen beim Speichern einer Excel-Mappe in einer XML-Datei die Diagramme verloren.<br />
Werden zum Beispiel Word-Dokumente mit eingebetteten Excel-Arbeitsblättern als XML-<br />
Datei gespeichert, dann enthalten diese nicht das Excel-Arbeitsblatt als XML, sondern<br />
stattdessen einen druckbar kodierten Binärblock (Auszug):<br />
Seite 447
EAAAAgAAAAEAAAD+////AAAAAAAAAAD/////////////////////////////////////////////<br />
/////v////7///8EAAAABQAAAAYAAAD+////////////////////////////////////////////<br />
AAAAAAAWAAUA//////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAUqEb09sQB<br />
AwAAAMAHAAAAAAAAXwAxADEANgA2ADgANQA3ADAAMAAzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA<br />
AAAAAAAAAAAAAAAAAAAAAAAAABgAAgH///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA<br />
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////wAAAAAAAAAA<br />
W/4qSGgXHcISgQ9Pn5oRjL8BMAf8skd8x0gp3wsrz82hCyWf5R3rQ9bDvsagN81jsvedI96He9jP<br />
rGndHg5cLaoXHVoV69CHsS5HTtFz4I6h7+BGjz8gsW3uZNGySJ7F8nxD3vlQnstR80VyHnWUeQqX<br />
xaQ2oVk52OmU5jpLq+wt7D6CSINpa0Py9JvbcGBZkEnoJryUTWSq/kqBg+tscXvx/op04tzTkUls<br />
XdXdoGuM/gbBLTCfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA<br />
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==<br />
<br />
Abbildung 69: Binär kodierte Excel Tabelle in altem WordprocessingML<br />
Das XML-Format WordprocessingML ist in Microsoft Office 2007 vollständig durch das<br />
neue XML-Format Office Open XML abgelöst worden. Bis dahin waren die<br />
standardmäßig eingebauten Import- und Exportmöglichkeiten in den Kernanwendungen<br />
die Binärformate (doc, xls, ppt) sowie WordprocessingML. Mittels Erweiterungen können,<br />
wie bereits erwähnt, auch die neuen Standardformate geöffnet werden.<br />
In Microsoft Office 2003 boten einige Anwendungen die Möglichkeit einer automatischen<br />
Kontrolle der Daten anhand des vergebenen XML-Schemas. Auf diesem Wege können<br />
inkorrekte XML-Datensätze vor der Übertragung zu beliebigen Webservices,<br />
Gouvernement-Plattformen und so weiter erkannt und zurückgehalten werden. Falsche<br />
oder unvollständige Eingabefelder können bereits während der Eingabe markiert<br />
werden. Die Validierung der Eingabe muss dabei nicht programmiert werden. Microsoft<br />
Office 2003 kann alle notwendigen Informationen aus dem XML-Schema herauslesen<br />
und die Validierung automatisch durchführen.<br />
1.2.7 Zusammenfassung<br />
natives Dateiformat<br />
Eingebaute Importfunktionen<br />
von anderen Formaten<br />
Eingebaute Exportfunktionen<br />
zu anderen Formaten<br />
Erweiterungsmöglichkeiten<br />
Programmierung<br />
Unterstützung von anwendungsspezifischen<br />
XML-<br />
Formaten<br />
Unterstützung, Webservice<br />
basierte Integration in Prozessketten<br />
Microsoft Office 2007 Microsoft Office 97 bis2003<br />
Office Open XML (docx, pptc,<br />
usw.) Binärformate<br />
Binärformate (.doc, .xls, .ppt)<br />
Office 97 - 2003<br />
Binärformate (.doc, .xls, .ppt)<br />
Office 97 - 2003<br />
Ja, (mit Makros, Smarttags, Visual<br />
Basic for Applications<br />
(VBA), oder .Net Programmierumgebung)<br />
Ja, umfangreiche Unterstützung<br />
auch mit grafischen Editoren<br />
Ja, umfangreiche Unterstützung<br />
auch mit grafischen Editoren,<br />
Smarttags, und .Net Programmierumgebung<br />
Seite 448<br />
Binärformate (.doc, .xls, .ppt)<br />
Office 97 - 2003<br />
Binärformate (.doc, .xls, .ppt)<br />
Office 97 - 2003<br />
Ja, (mit Makros, Smarttags,<br />
.Net Programmierumgebung<br />
oder VBA)<br />
Ja, umfangreiche Unterstützung<br />
auch mit grafische Editoren,<br />
ab Microsoft Office 2003<br />
Ja, umfangreiche Unterstützung<br />
auch mit grafische Editoren,<br />
Smarttags, und .Net<br />
Programmierumgebung, ab<br />
Microsoft Office 2003
Lizenzierung<br />
Verfügbarkeit für Betriebssysteme<br />
Microsoft Office 2007 Microsoft Office 97 bis2003<br />
Lizenz erforderlich, da kostenpflichtige<br />
<strong>Version</strong><br />
Microsoft Windows XP mit Service<br />
Pack (SP) 2, Windows Server<br />
2003 mit SP1 (oder höher) und<br />
Windows Vista<br />
Seite 449<br />
Lizenz erforderlich, da kostenpflichtige<br />
<strong>Version</strong><br />
Microsoft Windows XP (oder<br />
höher), Windows Server 2000<br />
mit SP3 (oder höher) und<br />
Windows Server 2003 (oder<br />
höher)<br />
Tabelle 71: Überblick der Charakteristika von MS Office 2007 und Office 97 - 2003<br />
2 Migrationspfade<br />
Thema dieses Kapitels ist die Migration zwischen den einzelnen zuvor betrachteten Office-Anwendungen.<br />
Dabei spielt Interoperabilität zwischen den Anwendungen eine wesentliche<br />
Rolle, sowohl für die Migration von bestehenden Dokumenten und deren Weiternutzung<br />
als auch für den Austausch und die gemeinsame Bearbeitung von Dokumenten.<br />
Mit Blick auf eine Migration muss einerseits während dieser die Interoperabilität zwischen<br />
den betroffenen Organisationseinheiten gewahrt bleiben, da in der Regel nicht alle<br />
Einheiten gleichzeitig migriert werden können und andererseits muss die Interoperabilität<br />
auch nach der Migration mit anderen Organisationen gewahrt bleiben, die nicht die gleichen<br />
Office-Anwendungen verwenden und mit denen eine gemeinsame Bearbeitung von<br />
Dokumenten zum täglichen Geschäft gehört. Damit ist die Sicherstellung der Interoperabilität<br />
ein wesentliches Entscheidungskriterium für die Wahl eines Migrationspfades.<br />
Interoperabilität von Office-Anwendungen ist, wie der Name sagt, keine einseitige Sache<br />
und wird daher im Abschnitt (III.C 2.1) losgelöst von konkreten Migrationspfaden übergreifend<br />
betrachtet.<br />
Neben der Interoperabilität spielen auch die Lock-In Szenarien eine außerordentliche<br />
Rolle bei einer Migrationsentscheidung. Im Vorfeld ist daher zu klären, in welchem Maße<br />
andere Dienste und Anwendungen auf konkrete Office-Anwendungen angewiesen sind.<br />
Sei es, weil bestimmte proprietäre Schnittstellen verwendet werden oder weil bestimmte<br />
Funktionalitäten benötigt werden, die nur von einer Office-Anwendung zur Verfügung<br />
gestellt wird. Das Auftreten solcher Lock-In Szenarien steht in engem Zusammenhang<br />
mit den Möglichkeiten der Office-Programmierung und der Intensität der Nutzung der<br />
Möglichkeiten im Rahmen der Office-Automation. Will eine Organisation hier die notwendige<br />
Unabhängigkeit waren, dann müssen andere Konzepte entwickelt werden. Ein<br />
gutes Beispiel hierfür ist die OSS-Lösung des Dokumentengenerators „tarent_doktor―<br />
(siehe III.C 2.3 „Exkurs―).<br />
Jedes Migrationsverfahren benötigt eine umfassende und gute Vorbereitung und gegebenenfalls<br />
auch eine entsprechende Nachbereitung. Dies hat für die Migration von Office-Anwendungen<br />
eine besonders große Bedeutung, die aus der Vielzahl von Dokumenten<br />
resultiert, die mit den Office-Anwendungen im Laufe der Zeit erstellt wurden und bei<br />
denen nicht immer klar ist, inwieweit eine Übernahme auch notwendig ist und vor allem<br />
in welcher Form diese Übernahme erfolgen soll. Im Abschnitt III.C 2.2 werden hierzu<br />
einige praktische Hinweise gegeben.
Anschließend werden folgende Migrationspfade genauer betrachtet:<br />
� Migration von MS Office 2000 - 2003 nach OOo2/SO8 430<br />
� Migration von MS Office 2000 - 2003 nach MS Office 2007<br />
� Migration von OOo1/OOo2/SO7/SO8 nach MS Office 2007<br />
� Migration von OOo1/SO7 nach OOo2/SO8<br />
Jede Migration von Office-Anwendungen ist im Wesentlichen von folgenden Migrationsmaßnahmen<br />
geprägt:<br />
� die Migration der Dokumente<br />
� die Migration der eingesetzten Makros und Scripte<br />
� die Wiederherstellung der in den Dokumenten verwendeten Anbindung an Datenquellen<br />
� der Umgang mit bestehenden Anwendungsintegrationen<br />
Unter diesen Aspekten werden die oben genannten Migrationspfade betrachtet.<br />
2.1 Interoperabilität von Officeanwendungen<br />
In allen Migrationsszenarien ist die Kompatibilität zwischen der alten und der neuen Anwendung<br />
eine entscheidende Herausforderung. Konkret ist zu klären: Kann die neue<br />
Anwendung die Daten der alten Anwendung unmittelbar importieren? Oder sind Vor-<br />
beziehungsweise Nacharbeiten oder explizite Konvertierungsschritte notwendig? Wie<br />
können sie bewerkstelligt werden? Welche Informationen gehen dabei verloren?<br />
Wenn sich eine Migration über einen längeren Zeitraum erstrecken oder wenn nur Teile<br />
einer Organisation migriert werden sollen, dann gewinnt darüber hinaus die Rückwärts-<br />
Kompatibilität an Bedeutung. Zu klären ist: Wie können Dokumente, die mit der neuen<br />
Anwendung erzeugt oder bearbeitet wurden, mit der alten Anwendung weiter verarbeitet<br />
werden? Entstehen durch die wechselseitige Bearbeitung eines Dokumentes mit verschiedenen<br />
Anwendungen oder Anwendungs-<strong>Version</strong>en (Roundtrip) möglicherweise<br />
Fehler, die sich „schneeballhaft― vergrößern? Die gleichen Fragen stellen sich auch<br />
dann, wenn neben der Migration innerhalb einer Organisation auch die Interoperabilität<br />
mit anderen Organisationen angestrebt wird.<br />
2.1.1 Betrachtungsebenen<br />
Wenn von der Interoperabilität von Office-Suiten die Rede ist, ist im Rahmen dieses Leitfadens<br />
der Austausch von Dateien gemeint. Man kann daher auch von einer "dateibasierten<br />
Interoperation" sprechen.<br />
Um das Potenzial aber auch die Grenzen der auf Dateien basierenden Interoperabilität<br />
von Office-Anwendungen auszuloten, ist eine differenziertere Betrachtung der zu lösenden<br />
Kompatibilitätsprobleme hilfreich. Die folgenden Kompatibilitätsebenen werden am<br />
430 OOo2 = OpenOffice.org <strong>Version</strong> 2.x, SO8 = StarOffice <strong>Version</strong> 8.x<br />
Seite 450
Beispiel der Textverarbeitung dargestellt, gelten in unterschiedlichem Maße aber auch<br />
für Tabellenkalkulationen, Präsentationsprogramme und viele andere Anwendungen:<br />
� Die logische Ebene: das Dokumentenmodell<br />
Jede Anwendung hat eine interne Sicht auf ein zu bearbeitendes Dokument, die<br />
sich von der menschlichen Wahrnehmung unterscheidet. Ein simpler Brief auf einem<br />
Briefbogen ist für den menschlichen Betrachter ein völlig selbstverständlicher<br />
Gegenstand. Damit ein Textverarbeitungsprogramm ihn aber gestalten<br />
kann, muss es beispielsweise dafür sorgen, dass sich bei Änderungen zwar der<br />
Text mit seinen Fußnoten verschiebt, nicht aber der Briefkopf, das Datum und die<br />
Faltmarken. Dazu kennt die Textverarbeitung Konstruktionen wie Textboxen, eingebettete<br />
Objekte, Fußzeilen oder Wasserzeichen. Die Menge dieser Gestaltungsinstrumente,<br />
die zusammen das Dokumentenmodell ausmachen, sind von<br />
einer Textverarbeitung zur anderen unterschiedlich. Unter Umständen verfügt eine<br />
Office-Suite über Instrumente, die im Dokumentenmodell andere Office-<br />
Anwendungen keinerlei Entsprechung hat.<br />
Auf der Ebene der Dokumentenmodelle misst sich die Kompatibilität zweier Textverarbeitungen<br />
daran, in welchem Maße die Modelle identisch sind (Modellkompatibilität)<br />
und in welchem Maße die Instrumente des einen Modells in die Instrumente<br />
des jeweils anderen Modells übersetzt werden können (Modell-<br />
Abbildbarkeit).<br />
� Die technische Ebene: das Dateiformat<br />
Das eben behandelte Dokumentenmodell ist ein internes Konstrukt einer Anwendung.<br />
Es ist dem Anwender zugänglich, während er mit der Anwendung arbeitet.<br />
Andere Anwendungen haben jedoch i.d.R keinen Zugang dazu. Stattdessen greifen<br />
sie auf die Dateien zu, in der die Anwendung ihre Dokumente speichert. Die<br />
Dateien enthalten zwar alle Informationen des Dokumentenmodells, können<br />
selbst aber durchaus anders strukturiert sein. Beispielsweise können sie anstelle<br />
des letzten Bearbeitungszustandes des Dokumentes einen älteren Stand speichern<br />
und ergänzend dazu die seither vorgenommenen Bearbeitungsschritte.<br />
Darüber hinaus kann die Datei binär kodiert sein, sodass sie nur von geeigneten<br />
Anwendungen genutzt werden kann, wie etwa vom Standardformat von Microsoft<br />
Word. Sie kann aber auch in einem für Menschen mehr oder minder lesbaren<br />
Format geschrieben werden, wie etwa das RTF-Format oder die komprimierten<br />
XML-Archive, die ODF und inzwischen auch OOXML verwenden. Die meisten<br />
Anwendungen sind in der Lage, Dokumente in unterschiedlichen Dateiformaten<br />
zu speichern und zu lesen. Der vollständige Informationsgehalt des Dokumentenmodells<br />
kann jedoch häufig nur in einem einzigen, nämlich dem 'eigenen' ("nativen")<br />
Dateiformat abgelegt werden. Die Verwendung anderer Dateiformate ist in<br />
diesem Fall mit dem Verlust von Informationen verbunden.<br />
Auf der Ebene des Dateiformates misst sich Kompatibilität zunächst daran, ob<br />
das Format technisch lesbar ist. Die technische Lesbarkeit kann dadurch hergestellt<br />
werden, dass es sich um ein standardisiertes Dateiformat handelt (RTF,<br />
XML), oder dass das Format dokumentiert ist. Wenn die technische Lesbarkeit<br />
gegeben ist, muss erkennbar sein, welche der gelesenen Daten den letzten Be-<br />
Seite 451
arbeitungsstand des Dokumentes repräsentieren und wie sie zu interpretieren<br />
sind. Dieser Schritt ist dann wichtig, wenn ein Dateiformat nicht den jüngsten Zustand<br />
eines Dokumentes speichert, sondern die zuletzt vorgenommenen Arbeitsschritte,<br />
gewissermaßen also ein Makro. Wenn die technische Lesbarkeit gegeben<br />
und der Zustand des Dokumentes rekonstruiert ist, muss schließlich dieser<br />
Zustand noch in das Dokumentmodell der lesenden Anwendung übersetzt werden.<br />
Erst in diesem letzten Schritt 'versteht' die lesende Anwendung das Dokument<br />
und kann es für eine Bearbeitung zugänglich machen.<br />
� Grafische Interpretation und Gestaltungstreue<br />
Bei der Bearbeitung eines Textdokumentes ist dem Anwender oft nicht nur am<br />
Wortlaut des Textes gelegen sondern auch an dessen Gestaltung. Moderne<br />
Textverarbeitungen bieten eine Fülle von visuellen Gestaltungsmöglichkeiten und<br />
stellen sie dem Anwender in der Regel im Sinne des WYSIWYG-Paradigmas zur<br />
Verfügung. Der Anwender erwartet mit einer gewissen Berechtigung, dass das<br />
Dokument immer und unter allen Umständen so aussehen wird, wie er es zum<br />
Zeitpunkt der Bearbeitung auf seinem Bildschirm wahrnimmt. „Immer" schließt<br />
dabei alle erdenklichen Drucker, alternative Betriebssysteme und -Umgebungen<br />
ein, im Migrationskontext darüber hinaus auch andere Anwendungen beziehungsweise<br />
Anwendungsversionen. Unglücklicherweise erweist sich WYSIVVYG in<br />
der Praxis seit jeher als guter Vorsatz, der zwar meist annähernd, aber kaum je<br />
vollständig umgesetzt wird. So reicht zum Beispiel der bloße Wechsel des Druckertreibers<br />
aus, um die Gestaltung längerer, mit zahlreichen Grafiken versehene<br />
Dokumente zu ruinieren. Die technischen Gründe dafür sind ebenso vielfältig wie<br />
(zumeist) nachvollziehbar. Was Kompatibilität auf der Ebene der Gestaltungstreue<br />
bedeutet, muss im Einzelfall entschieden werden. Wenn eine Faltmarke an<br />
der falschen Position gedruckt wird, erfüllt sie ihren Zweck nicht mehr. Wenn sie<br />
etwas schmaler oder etwas länger ist, ist dies hingegen keine gravierende Beeinträchtigung.<br />
Wenn jedoch die Gestaltungsdetails zum Beispiel eines Stadtwappens<br />
einer Graustufenkonvertierung zum Opfer fallen, dann ist dies nicht akzeptabel.<br />
Maßgeblich sind somit die Anforderungen, die an ein bestimmtes Resultat<br />
gestellt werden, zum Beispiel an den Druck auf Papier oder die auf die<br />
Übereinstimmung mit amtlichen Vordrucken oder mit Gestaltungsrichtlinien abzielen.<br />
Auf welcher dieser drei Ebenen wird nun über Kompatibilität entschieden? Da Probleme<br />
der Darstellungstreue am deutlichsten sichtbar sind, werden sie häufig als entscheidender<br />
Maßstab für Interoperabilität verstanden. Ob diese Probleme tatsächlich in der Praxis<br />
die Roundtrip-lnteroperabilität beeinträchtigen, hängt allerdings in hohem Maße vom<br />
konkreten Anwendungsszenario ab. Unter Umständen können Mängel der Darstellungstreue<br />
toleriert werden, sofern die Interoperabilität auf den anderen Ebenen gewährleistet<br />
ist.<br />
Die Zuordnung augenscheinlicher Kompatibilitätsprobleme zu einer der drei Ebenen ist<br />
für den Anwender jedoch häufig nicht einfach. Wenn beispielsweise eine Tabelle in einem<br />
Textdokument nach der Konvertierung aus einer Datei der Anwendung A in eine<br />
Datei der Anwendung B völlig anders aussieht, wird diese Veränderung zunächst als<br />
mangelnde Gestaltungstreue wahrgenommen und möglicherweise auf ein Dateiformat-<br />
Seite 452
Problem zurückgeführt. Tatsächlich kann es sich jedoch um eine Inkompatibilität der<br />
Dokumentenmodelle handeln, die ein Konvertierungswerkzeug durch einen gut gemeinten<br />
übersetzenden Eingriff zu überbrücken versuchte, jedoch mit unbefriedigendem Ergebnis.<br />
Die richtige Identifikation der Ebene, der ein Kompatibilitätsproblem zugeordnet ist, hat<br />
jedoch deshalb eine entscheidende Bedeutung, weil sich daraus die in Betracht kommenden<br />
Lösungen ableiten. Der folgende Abschnitt geht insbesondere der Frage nach,<br />
welche Beiträge XML-Technologien auf den unterschiedlichen Ebenen leisten können.<br />
2.1.2 Maßnahmen zur Überwindung von Interoperabilitätshindernissen<br />
Inkompatibilitäten auf der Ebene der Gestaltungstreue sind schwer zu beheben. Bietet<br />
beispielsweise ein Drucker eine deutlich gröbere Auflösung als ein anderer, dann verläuft<br />
die eben noch feine Schraffur im Stadtwappen unter Umständen zu einer indifferenten<br />
schwarzen Fläche. Abhilfe schafft in einer solchen Situation die Vereinheitlichung der<br />
Hardware oder eine professionelle Aufbereitung der Grafik. In anderen Fällen mögen<br />
zwei verschiedene Drucker technisch in der Lage sein, identische Ergebnisse zu produzieren,<br />
doch die Funktionsweise der jeweils notwendigen Druckertreiber einer Anwendung<br />
kann so unterschiedlich sein, dass sie dennoch zu unterschiedlichen Ergebnissen<br />
führt. Ein solches Phänomen ist ein internes Problem der Anwendung. Zur Behebung<br />
dieser Art von Misshelligkeiten kann hier keine Abhilfe geleistet werden. Es mag ein<br />
schwacher Trost sein, dass die Mehrzahl der Gestaltungsprobleme auf Inkompatibilitäten<br />
im Dokumentenmodell zurückzuführen ist.<br />
Inkompatibilitäten auf der Ebene des Dokumentenmodells können durch die bereits angesprochenen<br />
Abbildungen von einem Modell ins andere überbrückt werden. Um eine<br />
uneingeschränkte Roundtrip-lnteroperabilität zwischen beiden Modellen herzustellen,<br />
müssten diese Übersetzungen umkehrbar sein. In der Praxis ist das selten der Fall. Dafür<br />
gibt es eine Reihe von prinzipiellen Gründen. Einer davon ist die unterschiedliche<br />
Verteilung des Gestaltungsreichtums innerhalb der Modelle. Beispielsweise kennt das<br />
Dokumentenmodell der Anwendung A 25 verschiedene Linienmuster, während das von<br />
Anwendung B nur 7 kennt. Ein weiterer prinzipieller Grund ist die Schwierigkeit, bestimmte<br />
Merkmale eines Dokumentes als bewussten Eingriff des Anwenders oder als<br />
das Artefakt einer Modellübersetzung zu identifizieren. Die fast unausweichlichen<br />
Asymmetrien solcher Modell-Übersetzungen sind jedoch die zentrale Ursache für das<br />
„schneeballhafte― Anwachsen von Anomalien beim mehrfachen Hin- und Herkonvertieren<br />
eines Dokumentes zwischen zwei Formaten.<br />
Roundtrip-lnteroperabilität lässt sich unter diesen Umständen dadurch erreichen, dass<br />
nur diejenigen Gestaltungsmöglichkeiten tatsächlich in Dokumenten verwendet werden,<br />
die in allen in Frage kommenden Dokumentenmodellen identisch sind. Ferner kann deren<br />
Übersetzung so gestaltet werden, dass sie im Regelfall umkehrbar ist, zumindest<br />
aber frei von Schneeball-Effekten. Dazu müssen die in Frage kommenden Gestaltungsmöglichkeiten<br />
identifiziert werden. Dokumentenvorlagen können dann so gestaltet werden,<br />
dass sie nur diese interoperablen Gestaltungsmöglichkeiten verwenden. Der praktische<br />
Erfolg hängt schließlich auch davon ab, ob die Anwender über die zulässigen Gestaltungsmöglichkeiten<br />
informiert werden und sich tatsächlich an den gegebenen Rahmen<br />
halten.<br />
Seite 453
Um auch diejenigen Gestaltungsmöglichkeiten nutzen zu können, die die beschriebenen<br />
Bedingungen nicht erfüllen, bietet es sich an, den Bearbeitungszyklus der Dokumente in<br />
zwei Phasen einzuteilen. In der ersten Phase erfolgt die eigentliche Bearbeitung. Sie<br />
beschränkt sich soweit wie möglich auf den Dokumenteninhalt und vermeidet daher weitestgehend<br />
gestaltende Eingriffe. Die zweite Phase beginnt, wenn die inhaltliche Bearbeitung<br />
endgültig abgeschlossen ist. In dieser Phase erfolgt das gestalterische ‗Finetuning‗<br />
des Dokumentes mit nur einer der beteiligten Anwendungen. Eine umlaufende Bearbeitung<br />
findet also in dieser Phase nicht mehr statt, sodass auch die damit verbundenen<br />
Probleme nicht mehr auftreten<br />
Inkompatibilitäten auf der Ebene des Dateiformates sind im Vergleich zu den anderen<br />
Ebenen eine technisch gesehen recht einfache Herausforderung, sie erwiesen sich aber<br />
in der Vergangenheit als erhebliches Hindernis. Die nun übliche Verwendung von XML<br />
sorgt auf dieser Ebene für eine substanzielle Erleichterung.<br />
2.2 Vorbereitung der Migration<br />
Bevor die Migration begonnen wird, sind einige Vorüberlegungen erforderlich, um späteren<br />
Problemen weitgehend aus dem Weg gehen zu können. Eine wesentliche Maßnahme<br />
dabei ist Durchführung einer intensiven Bestandsanalyse, insbesondere der vorliegenden<br />
Office-Dokumente und -Vorlagen. Was dabei zu beachten ist, wird im nachfolgenden<br />
Abschnitt dargelegt. Anschließend werden mögliche Verfahren zur Dokumentenkonvertierung<br />
vorgestellt.<br />
2.2.1 Bestandsanalyse<br />
Zunächst einmal sollte vor einer Migration der Bestand an Dokumenten und Vorlagen<br />
erfasst werden. Sein Zustand ist vor allem für die Wahl einer Migrationsstrategie entscheidend.<br />
Die nachfolgende Auflistung zeigt Untersuchungskriterien, nach denen Bestandsdokumente<br />
und Vorlagen gruppiert werden sollen. Sie verdeutlicht, was bei der<br />
Verwendung externer Datenquellen zu beachten ist und gibt Hinweise, wie bei der Integration<br />
externer Anwendungen zu verfahren ist:<br />
� Weiterverwendbarkeitsbedarf von Dokumenten und Vorlagen<br />
Dieser Untersuchungspunkt ist einer der wichtigsten, da sich hier entscheidet,<br />
wie aufwendig sich die spätere Übernahme der Dokumente gestaltet. Umso mehr<br />
der Bestandsdokumente zukünftig nur noch für den lesenden Zugriff benötigt<br />
werden, desto geringer wird der Aufwand insgesamt für die Übernahme der Dokumente<br />
sein.<br />
o Dokumente und Vorlagen, die evtl. weiter zu bearbeiten sind für diese<br />
Dokumente muss in der Regel eine Konvertierung in ein neues bearbeitbares<br />
Format vorgenommen werden, ohne dass dabei so wenig als möglich<br />
an Verlusten hinsichtlich Inhalt und Qualität entsteht.<br />
o Dokumente, die nur noch gelesen, jedoch nicht mehr bearbeitet werden<br />
sollen für diese Dokumente sollte mit Blick auf eine langfristige Verfügbarkeit<br />
eine Konvertierung nach PDF oder zur Archivierung nach PDF/A<br />
vorgenommen werden.<br />
Seite 454
o Dokumente und Vorlagen, die nicht mehr benötigt werden, sollten auch<br />
vollständig und endgültig gelöscht werden.<br />
� Komplexität der Dokumente<br />
Die Komplexität spielt hinsichtlich des Aufwandes für die Migration eine wesentliche<br />
Rolle.<br />
o einfache Dokumente<br />
Diese enthalten keine Makros, proprietäre Grafiken (zum Beispiel WordArt),<br />
Vektorgrafiken, komplexe Formatierungen oder Elemente wie Fußnoten,<br />
Tabellen oder Indizes. Sie lassen sich am besten durch eine<br />
BatchKonvertierung umwandeln (siehe Abschnitt III.C 2.2.2)<br />
o komplexe Dokumente<br />
Diese enthalten Makros, gemeinsame Komponenten, Absatz- und Seitenformatierung,<br />
proprietäre und Vektorgrafiken, ferner viele Links und Querverweise,<br />
OLE-Objekte, Rahmen, Text-Boxen, Fußnoten, aktive Komponenten,<br />
Formularfelder, Formular-Controls, Formulare oder Tabellen, also<br />
eine Fülle verschiedenster Formatierungen und Elemente. In diesem Bereich<br />
gibt es eine sehr starke Abstufung im Komplexitätsgrad. Diese ist<br />
aber leider weder kategorisierbar noch klar benennbar. Die Abstufung<br />
hängt von der jeweiligen Anwendung ab, mit der sie erstellt wurde und in<br />
welchem Maße die zuvor genannten Punkte im jeweiligen Dokument zum<br />
Einsatz kommen. Daher ist eine genaue Untersuchung der Dokumente,<br />
sofern diese in anderes Format zur Weiterbearbeitung überführt werden<br />
sollen, unausweichlich.<br />
� Komplexität der Vorlagen<br />
Die Komplexität der Vorlagen hat hinsichtlich des Aufwandes der Migration ebenfalls<br />
eine große Bedeutung. Die Anzahl der Vorlagen sollte daher von vornherein<br />
auf das notwendige Maß beschränkt werden.<br />
o einfache Vorlagen<br />
Einfache Vorlagen bestehen aus generischem Text 431 und Formatierungen,<br />
die als Ausgangspunkt oder grober Entwurf für neue Dokumente dienen.<br />
Gute Beispiele hierfür sind Vorlagen für Briefe, Reports oder Protokolle,<br />
die teilweise schon mit den Office-Suiten ausgeliefert und für die<br />
vereinfachte Erstellung neuer Dokumente angeboten werden. Für einfache<br />
Vorlagen bestehen die gleichen Konvertierungsoptionen wie für einfache<br />
Dokumente.<br />
o komplexe Vorlagen<br />
Komplizierte Vorlagen enthalten Formfelder und Makros, die nicht immer<br />
leicht umzuwandeln sind und daher mit Hilfe von Entwicklungsumge-<br />
431 Ein partikulärer Text ohne Entstehungszusammenhang - also das Symbolische in einem<br />
linguistischen Ausdruck ohne jeglichen Bezug zur Wirklichkeit.<br />
Seite 455
ungen der jeweils anderen Office-Suiten nachgebildet oder gar völlig neu<br />
entwickelt werden müssen.<br />
� Verwendung von externen Datenquellen<br />
Diese müssen in der Regel neu angebunden werden. Das ist grundsätzlich recht<br />
problemlos möglich. Zu diesen Datenquellen zählen u.a. Datenbanken.<br />
� Integration externer Software<br />
Zunächst sind die Anwendungen zu identifizieren, deren Einbindung benötigt<br />
wird. Anschließend ist zu prüfen, ob diese für die Umgebung, in die migriert wird,<br />
verfügbar sind. Schließt die Nutzung einer neuen Office-Suite einen Betriebssystemwechsel<br />
mit ein, muss davon ausgegangen werden, dass hier nicht alle<br />
externen Programme lauffähig sind. Unter Umständen können ausführbare Programme<br />
auch für die neue Umgebung erstellt werden, sofern der Quelltext der externen<br />
Software verfügbar ist. Ansonsten müssen Alternativen gesucht werden.<br />
Auch wenn die Migration keinen Betriebssystemwechsel mit sich bringt, ist zu<br />
prüfen, inwieweit eine Einbindung der externen Software (zum Beispiel mittels<br />
Schnitt-stellen) in die alternative Office-Suite möglich ist. Wird eine Integration<br />
nicht unterstützt, müssen auch hier Alternativen gesucht werden, wodurch sich<br />
der Migrationsaufwand erhöht.<br />
Nachbereitung der Migration von Dokumenten<br />
Nach einer Konvertierung ist es sinnvoll, die konvertierten Dokumente auf die korrekte<br />
Übernahme folgender Einstellungen zu überprüfen:<br />
� Ränder<br />
� Tabs und Einrückungen<br />
� Zeilenabstände innerhalb von Absätzen<br />
� Abstände zwischen Absätzen<br />
� Tabellen<br />
� Kopf- und Fußzeilen<br />
� Listen<br />
� Grafiken<br />
Generell ist es immer empfehlenswert, konvertierte Dokumente auf die Korrektheit der<br />
obigen Einstellungen hin zu überprüfen und sich nicht auf Kompatibilitätsversprechen<br />
der Office-Anbieter zu verlassen. Damit eine solche Aufgabe im Rahmen einer Migration<br />
nicht zu einer unendlichen Geschichte wird, ist vorab zu prüfen, welche Dokumente für<br />
welche Zwecke zukünftig noch benötigt werden. Hierbei sowie bei der Prüfung auf korrekte<br />
beziehungsweise akzeptable Konvertierung sollten, so weit als möglich, die Eigentümer,<br />
das heißt die Anwender, welche die Dokumente erstellt haben, in die Prüfung mit<br />
einbezogen werden.<br />
Es ist ferner darauf zu achten, dass nach einer Konvertierung prinzipiell das als Konvertierungsziel<br />
gewählte Dokumentenformat beibehalten wird, um eventuelle Verluste in der<br />
Formatierung durch mehrfaches Hin- und Herkonvertieren zu verhindern.<br />
Seite 456
2.2.2 Wahl eines geeigneten Konvertierungsverfahrens<br />
Prinzipiell bieten sich zwei Verfahren für die Konvertierung von Dokumenten an. Zum<br />
einen können Dokumente in der Officeanwendung, zur der migriert werden soll, im ursprünglichen<br />
Dateiformat geöffnet und später im nativen Ziel-Dateiformat abgespeichert<br />
werden. Die Migration erfolgt also mithilfe eines Importfilters. Solche Filter sind inzwischen<br />
für alle hier betrachteten Office Suiten verfügbar.<br />
Zum anderen kann eine Batch-Konvertierung durchgeführt werden. Bei diesem Verfahren<br />
wird eine Gruppe von Dateien mithilfe eines Konverters in ein anderes Dokumentenformat<br />
umgewandelt.<br />
Welches Verfahren für den vorliegenden Anwendungsfall in Frage kommt, hängt von der<br />
Komplexität, dem Umfang und der Menge der zu konvertierenden Dateien ab.<br />
2.3 Migration von MS Office 97 - 2003 nach StarOffice 8/OOo 2<br />
2.3.1 Migration von Dokumenten<br />
OOo 2/SO 8 bieten Import-/Export-Mechanismen für fremde Dateiformate, sowohl für<br />
binäre wie für XML-basierte. Neben den integrierten Standardfiltern in OOo und SO ist<br />
es auch möglich, den OpenXML-Translator zu nutzen. Diese OpenSource-Lösung wurde<br />
von Novell und Microsoft entwickelt und ermöglicht den Im- und Export von Dokumenten<br />
im ODF-Format. Nachteil dieser Lösung ist jedoch, dass sie nur unter der Novell-eigenen<br />
OpenOffice-Distribution für Linux und Windows zur Verfügung steht. Als Alternative bietet<br />
Sun mit seinem ODF Plugin for Microsoft Office 432 Import-/Export-Filter an, mit dem<br />
MS-Office-Anwender Textdokumente, Kalkulationstabellen und Präsentationen im OpenOffice-<br />
und StarOffice-eigenen Format lesen und schreiben können.<br />
Einige dieser Mechanismen verwenden XSL-Transformationen und werden dementsprechend<br />
durch Stylesheets konfiguriert und erweitert. Filter-Stylesheets können als Pakete<br />
gebündelt und so auch durch den Anwender in einem Schritt installiert werden. Die Filter-Systeme<br />
für Microsoft Office 2003-XML-Formate (SpreadsheetML und WordML) sind<br />
mit OOo 2/SO 8 Teil des Standardinstallationssatzes433. Weiterhin sind folgende Filter<br />
integriert:<br />
� MS Win Word 5.0 Word 6.0, 95, 97, 2000, XP<br />
� MS Excel 4.0, 5.0, 95, 97, 2000, XP<br />
� MS PowerPoint 97, 2000, XP<br />
� Corel WordPerfect<br />
� RichTextFormat<br />
� Text-Dateien<br />
Aus Anwendersicht fügen sich die installierten XSLT-Filter in die vertrauten Funktionalitäten<br />
(„Öffnen...―, „Speichern unter...―) ein und mischen sich dort mit den nach wie vor<br />
432 http://www.sun.com/software/star/odf_plugin/<br />
433 http://www.openoffice.org/issues/show_bug.cgi?id=33450<br />
Seite 457
zahlreichen, fest eingebauten Binärformat-Filtern. Als Teil einer lmportfilter-Konfiguration<br />
kann zusätzlich ein Dokumenten-Template identifiziert werden, dessen (Formatierungs-<br />
)Styles automatisch auf das importierte Dokument angewendet werden. Es wird durch<br />
entsprechende Zuweisungen des (Import-) Stylesheets gesteuert.<br />
Im Allgemeinen erfolgt die Konvertierung in einer akzeptablen Qualität, außer es handelt<br />
sich um komplexe Dokumente mit zum Beispiel Makros. Hier gibt es einige Layouteigenschaften<br />
und Formatierungsattribute in MS Office, die in OOo/SO nicht unterstützt oder<br />
anders behandelt werden. Infolgedessen ist es erforderlich, die durchgeführte Konvertierung<br />
in einem gewissen Grad manuell nachzubearbeiten, um ein dem Ausgangsdokument<br />
entsprechendes Format zu erhalten. Insbesondere bei komplexen und sehr produktspezifischen<br />
Dokumenteneigenschaften wie Indizes, Felder, Frames und Tabellen,<br />
können keine 100%ig befriedigenden Konvertierungen erwartet werden. Weiterhin kann<br />
es auch in einigen Fällen bei der Konvertierung von Basis-Attributen und -<br />
Formatierungen wie Seitenrändern oder Leerräumen zwischen Absätzen zu Unterschieden<br />
zwischen dem Original und dem konvertierten Dokument kommen. Im Gegensatz zu<br />
den vorherigen <strong>Version</strong>en wurden diese Einschränkungen jedoch erheblich verringert.<br />
Die folgende Tabelle zeigt anwendungsübergreifende und anwendungsspezifische<br />
Schwierigkeiten, die bei einer Konvertierung auftreten können:<br />
anwendungsübergreifend<br />
Word (.doc)<br />
Excel (.xls)<br />
Anwendung Probleme<br />
Seite 458<br />
� Auto-Formen werden verschoben<br />
� OLE-Objekte gehen verloren (nur unter<br />
Linux!)<br />
� Kontrollfelder und Formularfunktionen<br />
� Makros und VBA-Code<br />
� Verzeichnisse werden nicht in der gleichen<br />
Formatierung übernommen<br />
� Hyperlinks und Textmarken können<br />
verloren gehen<br />
� Kommentare werden nur bedingt<br />
konvertiert (einige Kommentare können als<br />
Text im Dokument erscheinen)<br />
� animierter Text wird nicht immer dargestellt<br />
� Referenzierungen in Tabellen können<br />
fehlerhaft sein<br />
� In Office 2007 gibt es „native Charts―, die<br />
mit den älterer <strong>Version</strong>en in Konflikt<br />
geraten können (weil sie keine OLE<br />
Objekte mehr sind)<br />
� Konflikte zwischen selbst definierten<br />
Funktionen / Formeln und integrierten<br />
Funktionen
PowerPoint (.ppt)<br />
Anwendung Probleme<br />
Seite 459<br />
� Nicht alle AutoShapes sind darstellbar<br />
� Masterhintergrund wird nicht dargestellt<br />
� einige Animationen werden nicht<br />
übernommen 434<br />
Tabelle 72: Mögliche Konvertierungsprobleme<br />
2.3.2 Migration von Makros und Skripten<br />
Makros und OLE/COM werden häufig leider zu intensiv zur Erweiterung der Office-<br />
Funktionalitäten und zur Office-Automation unter Windows genutzt. Diese Methode bereitet<br />
bei Migrationen immer wieder Probleme — manchmal sogar bei fortführenden Migrationen.<br />
Da die Makros und Scriptings in den MS Office Suiten in erster Linie auf VBA<br />
basieren, lassen sich diese unter OOo/SO nicht ausführen.<br />
Für eine automatisierte Migration nach OOo/SO gibt es verschiedene Werkzeuge, welche<br />
die vorhandenen Dokumente und Vorlagen analysieren und weitestgehend automatisiert<br />
die vorhandenen Makros aus MS Office nach StarBasic konvertieren. Leider stehen<br />
diese Werkzeuge nicht als freie Software zur Verfügung. Sie sind lediglich Bestandteil<br />
der StarOffice Enterprise Edition. Daher ist es notwendig, genau zu prüfen, welcher<br />
Weg wirtschaftlicher ist:<br />
� die manuelle Überführung beziehungsweise Neuerstellung,<br />
� Investition in die StarOffice Enterprise Edition oder<br />
� die Beauftragung eines Migrationpartners von Sun, der Zugriff auf diese Werkzeuge<br />
hat.<br />
Das Umschreiben der Makros kann neben StarOffice Basic auch in Java oder C++ erfolgen.<br />
Dafür steht ein IDE-Editor zur Verfügung. Grundsätzlich sollte zuvor genau geprüft<br />
werden, welche der bestehenden Makroprogrammierungen weiterhin zwingend benötigt<br />
werden beziehungsweise ob es nicht andere Lösungen gibt, die flexibler und plattformunabhängiger<br />
sind.<br />
Exkurs Dokumentgenerator<br />
Im Rahmen des Pilotprojektes „OSS-Desktop― wurde für das Bundesministerium der<br />
Justiz eine Anwendung entwickelt, die zur standardisierten, lT-gestützten Erzeugung von<br />
Dokumenten dient. Der Dokumentgenerator löste eine auf VBA-Makros basierende Anwendung<br />
ab. Die ursprüngliche Altanwendung bot keine Unterstützung von OpenOffice<br />
beziehungsweise StarOffice, war in einer heterogenen Office-Umgebung nicht einsetzbar<br />
und musste somit abgelöst werden. Der Dokumentgenerator wird unter einer GPL-<br />
Lizenz entwickelt und steht somit allen Interessenten frei zur Verfügung. Die Anwendung<br />
wurde von der tarent GmbH 435 entwickelt. Der Dokumentgenerator dient zur Erstellung<br />
434 siehe dazu den „Migration Guide StarOffice 8― – im Gegensatz zur letzten <strong>Version</strong> sollen<br />
nunmehr fast alle Animationen und Bildübergänge darstellbar sein<br />
435 Maintainer des Dokumentgenerators: www.tarent.de
und Bearbeitung unterschiedlicher Dokumenttypen, wie sie für die tägliche Arbeit benötigt<br />
werden. Im BMJ werden mit dem Dokumentgenerator beispielsweise Verfügungen<br />
und Reinschriften in unterschiedlicher Ausprägung erstellt, entweder als Vermerk, Verfügung,<br />
Ministervorlage oder Staatssekretärsvorlage.<br />
Gegenüber anderen Lösungen, die ausschließlich die Skript und Makroschnittstellen von<br />
Microsoft Word oder OOo/SO nutzen, wurde der Dokumentgenerator in Java geschrieben.<br />
Er ist daher eine einheitliche Lösung sowohl für Linux- als auch für Windowsbasierte<br />
Clientsysteme. Der Dokumentgenerator unterstützt weiterhin die Textverarbeitungsanwendungen<br />
OOo/SO als auch Microsoft Office. Die folgende Auflistung nennt die<br />
vom Dokumentgenerator unterstützten Office-Suiten:<br />
� StarOffice 7, 8<br />
� OpenOffice.org 1.x, 2<br />
� Microsoft Office 97 - 2003<br />
Der Dokumentgenerator ist in Java implementiert und benötigt für die Nutzung eine Java-Laufzeitumgebung<br />
(Java-Laufzeitumgebung ab <strong>Version</strong> 1.4) auf den jeweiligen<br />
Client-Systemen. Die Anwendung ist in die jeweiligen Office-Oberflächen (Menü, Symbolleisten)<br />
mit den jeweils officespezifischen verfügbaren Technologien integriert (Star-<br />
Basic/VBA). Da es sich hierbei in der Regel nur um die Aufrufe der Anwendungsdialoge<br />
handelt, ist diese lntegrationsschicht sehr klein und damit auch in der Pflege unkritisch.<br />
Der Dokumentgenerator realisiert die gesamte Logik und Automatismen, die ursprünglich<br />
durch die Verwendung von VBA-Makros implementiert wurden. Er verwendet einfache<br />
Dokumentvorlagen der jeweiligen Office-Suiten zur Bereitstellung des Enddokuments.<br />
Die Anwendung trennt deutlich zwischen Anwendungslogik und Präsentationsschicht,<br />
somit wird eine Unabhängigkeit von der jeweiligen Office-Umgebung erreicht,<br />
und auf den Einsatz von Makros kann verzichtet werden. Die zusätzlich benötigen Dokument-Vorlagen<br />
können vom Anwender oder den Administratoren mit Hilfe von Platzhaltern<br />
und Formatvorlagen selbst gestaltet und den jeweiligen Anforderungen angepasst<br />
werden. In der folgenden Abbildung wird die grundsätzliche Architektur des Dokumentgenerators<br />
dargestellt:<br />
Seite 460
Abbildung 70: Architektur des Dokumentengenerators<br />
Der Nutzer führt die Erstellung der jeweiligen Dokumente mit seinem gewohnten Office-<br />
Programm durch und empfindet den Dokumentgenerator durch die Integration in die<br />
jeweiligen Office-Oberflächen als Teil der Office-Lösung. Der Nutzer kann den Dokumentgenerator<br />
mittels einer eigenen Symbolleiste oder über das Anwendungsmenü bedienen.<br />
Die Dialoge des Dokumentgenerators erscheinen als „Kindfenster― der jeweiligen<br />
Textverarbeitung.<br />
Bei der Erstellung von Dokumenten, insbesondere von Anschreiben, können die Adressaten<br />
der Schreiben aus Adresskatalogen ausgewählt werden. Die Adresskataloge können<br />
mittels der Dialoge des Dokumentgenerators gepflegt werden. Bei den Adresskatalogen<br />
werden zum einen persönliche Kataloge ― diese sind durch den Nutzer frei bearbeitbar<br />
― und zum anderen schreibgeschützte Kataloge unterschieden, die von zentraler<br />
Stelle bereitgestellt werden. Die Bereitstellung der Adressdaten kann sowohl mittels<br />
einfacher Textdateien als auch mittels Datenbanksystemen erfolgen. Die Textdateien<br />
haben unter Windows- als auch Linux-basierten Systemen das gleiche Format. Auch<br />
kann der Dokumentgenerator Adressen im vcard-Format verwenden, wie sie aus verschiedenen<br />
Groupware-Lösungen (zum Beispiel Microsoft Outlook) exportiert werden<br />
können. Eine weitere Variante ist die Nutzung eines zentralen LDAP Verzeichnisdienstes<br />
für die Bereitstellung von Adressinformationen.<br />
2.3.3 Migration von Datenquellen<br />
Microsoft Office 2007 enthält spezielle Treiber, die zum Abrufen von Daten aus mehreren<br />
Datenquellen verwendet werden können. Hierzu gehören u.a.:<br />
� Microsoft SQL Server Analysis Services (OLAP-Anbieter)<br />
� Microsoft Office<br />
� dBASE<br />
� Oracle<br />
Seite 461
Es können auch ODBC-Treiber von anderen Herstellern verwendet werden, um Informationen<br />
aus Datenquellen abzurufen, die hier nicht aufgelistet sind. Informationen zum<br />
Installieren eines ODBC-Treibers oder eines Datenquellentreibers, die nicht hier aufgelistet<br />
sind, finden sich in der Dokumentation zur jeweiligen Datenbank.<br />
2.3.4 Integration von Anwendungen<br />
Hinsichtlich der Integration von externen (das heißt nicht-Office-) Anwendungen und der<br />
Migration solcher Integrationen nach OOo/SO spielt die Art der Integration von MS Office<br />
Suiten und die damit verbundenen Abhängigkeiten (Lock-In Szenarien) eine wichtige<br />
Rolle. Viele der heute eingesetzten Fach- und Standardanwendungen machen starken<br />
Gebrauch von proprietären API-Modulen, wie API, COM und DDE.<br />
Der Grad der Abhängigkeit solcher Integrationen kann ganz unterschiedlich sein. Eine<br />
einfache und noch recht unproblematische Integration ist die Nutzung der MAPI-<br />
Schnittstelle, um aus einer Anwendung heraus beispielsweise auf bestimmte Office-<br />
Anwendungen zuzugreifen. Am Ende ist jedoch unerheblich, ob dies eine Micosoft-<br />
Office-Anwendung oder eine OpenOffice.org-Anwendung ist.<br />
Weitaus problematischer stellt sich eine Integration dar, wenn eine Anwendung nur bestimmte<br />
MS-Office-Anwendungen zulässt beziehungsweise diese sogar zwingend benötigt<br />
werden, um die volle Funktionalität dieser Anwendung nutzen zu können.<br />
Diese Unterschiede bei der Integration von MS Office-Anwendungen in anderen Anwendungen<br />
erfordern eine genaue Prüfung, ob eine Migration technisch machbar und welcher<br />
Aufwand damit verbunden ist. Sofern der Source Code der externen Anwendung<br />
verfügbar ist, muss im Einzelfall geprüft werden, ob eine Integration von OOo/SO-<br />
Anwendungen über die von OOo/SO bereitgestellte Schnittstelle UNO (Universal Network<br />
Objects) möglich ist.<br />
2.4 Migration von MS Office 97 - 2003 nach MS Office 2007<br />
Die in diesem Abschnitt erörterte Migration zwischen den alten <strong>Version</strong>en von MS Office<br />
zum neuen Produkt wird im Schwerpunkt zwischen der Office-Suite 2003 und 2007 beschrieben.<br />
Der Fokus der nachfolgenden Betrachtungen liegt auf einer Migration von MS<br />
Office 2003 nach MS Office 2007, da MS Office 2003 bereits in der Vorgängerversion<br />
des <strong>Migrationsleitfaden</strong>s als Ziel von Migrationspfaden betrachtet wurde. Relevante<br />
Punkte, die ältere <strong>Version</strong>en von MS Office betreffen und von der Ausgangslage MS<br />
Office 2003 abweichen, werden ebenfalls betrachtet.<br />
2.4.1 Migration von Dokumenten<br />
MS Office 2007 ist von Hause aus in der Lage, die Dokumentenformate der vorherigen<br />
<strong>Version</strong>en zu öffnen und zu bearbeiten. Das Standard-Dokumentenformat kann vom<br />
Nutzer auch manuell an die entsprechenden Bedürfnisse angepasst werden. Jedoch<br />
birgt die Nutzung unterschiedlicher Dokumentenformate immer die Gefahr, dass Daten<br />
nicht verlustfrei weitergegeben werden. Microsoft bietet daher für Nutzer der älteren <strong>Version</strong>en<br />
MS Office 2003 verschiedene Updates an, mit denen eine Nutzung des neuen<br />
Dateiformats ermöglicht wird. In Verbindung mit dem von Microsoft angebotenen Office<br />
Seite 462
Migration Planning Manager 436 (OMPM) ist es möglich, alle auf dem Rechner befindlichen<br />
Office-Dokumente zu analysieren und mittels Batch-Konvertierung (massenweise<br />
Konvertierung) für die neue Office 2007 Umgebung verarbeitbar zu machen und in das<br />
neue Dateiformat zu überführen. Da der OMPM jedoch für eine Konvertierung speziell<br />
von Dokumenten der Office 2003 <strong>Version</strong> entwickelt wurde, ist es für Nutzer älterer Office-<strong>Version</strong>en<br />
unbedingt ratsam, Änderungen hinsichtlich der Migrationsmöglichkeiten zu<br />
Office 2003 zu beachten. 437<br />
Die Kern-Anwendungen von MS Office 2007 (Word, Excel und PowerPoint) bieten einen<br />
Kompatibilitätsmodus. Er ermöglicht dem Nutzer, Dokumente in MS Office 2007 mit den<br />
Mitteln älterer <strong>Version</strong>en zu bearbeiten. Wird beispielsweise ein Diagramm eingefügt,<br />
dann öffnet sich im Kompatibilitätsmodus statt des Diagramm-Tools von Office 2007 das<br />
der älteren Office 2003 <strong>Version</strong>. Dadurch kann dieses in älteren <strong>Version</strong>en wieder bearbeitet<br />
werden und die Abwärtskompatibilität zwischen den <strong>Version</strong>en wird sicher gestellt.<br />
Das Einfügen ohne diesen Modus hätte zur Folge, dass dieses Objekt in älteren <strong>Version</strong>en<br />
nur eingeschränkt zu editieren wäre. Der Kompatibilitätsmodus ist besonders dann<br />
von Vorteil, wenn in Organisationen MS Office 2007 mit älteren <strong>Version</strong>en parallel betrieben<br />
wird. Eine Übersicht darüber, wann sich der Modus aktiviert, ist in der folgenden<br />
Tabelle zu sehen:<br />
Aktion in Office 2007 Excel 2007 PowerPoint<br />
2007<br />
Seite 463<br />
Word 2007<br />
Öffnen von Dateiformaten älterer Office-<strong>Version</strong>en X X X<br />
Konvertierung von Dokumenten in Office 2007 in ein<br />
Format älterer <strong>Version</strong>en (mittels Speichern unter)<br />
Ändern des Standard-Dokumentenformates<br />
(in das einer älteren <strong>Version</strong>)<br />
Erzeugen eines neuen Dokuments basierend auf<br />
einem .dot Template<br />
(aus älteren Office-<strong>Version</strong>en)<br />
Tabelle 73: Kompatibilitätsmodus bei MS Office 2007<br />
X X X<br />
X X X<br />
Durch das Nutzen dieses Features werden Kompatibilitätsprobleme zwischen den <strong>Version</strong>en<br />
erheblich reduziert und eine verlustfreie Migration ermöglicht. Sollten dennoch<br />
Kompatibilitätsprobleme auftreten, wird dem Anwender eine Meldung über eventuelle<br />
Datenverluste und der Grund hierfür angezeigt. Wenn beispielsweise in Excel 2007 eine<br />
Tabelle mit 800.000 Zeilen im Dokumentenformat einer älteren <strong>Version</strong> gespeichert werden<br />
soll, so wird dem Nutzer die Gefahr eines Datenverlustes gemeldet. Aufgrund der<br />
Erweiterungen und Updatemöglichkeiten ist eine Migration von Dokumenten älterer MS<br />
Office-Anwendungen zur aktuellen <strong>Version</strong> ohne große Probleme möglich.<br />
436 http://go.microsoft.com/fwlink?linkid=75727<br />
437 Informationen dazu sind im migrationsleitfaden 2.1 zu finden<br />
X
2.4.2 Migration von Makros und Skripten<br />
In der Standardeinstellung enthalten Dokumente im OOXML-Format (XML-Format in MS<br />
Office 2007) keinen ausführbaren Code (keine Makros). Dateien, in denen Makros<br />
enthalten sind, besitzen dasselbe Format wie Dateien ohne Makros. Äußerlich ist also<br />
zunächst einmal kein Unterschied festzustellen. Dateien mit Makros enthalten jedoch<br />
zusätzliche Komponenten, die von dem im Dokument enthaltenen Automatisierungstyp<br />
abhängig sind. So enthält zum Beispiel eine Datei mit aktivierten VBA-Makros eine binäre<br />
Komponente, in der wiederum das VBA-Makro enthalten ist. Wenn eine codespezifische<br />
Komponente in einer Datei ohne Makros enthalten ist (ob versehentlich oder böswillig),<br />
werden die Office-Anwendungen das Ausführen des Codes nicht gestatten —<br />
ohne jede Ausnahme.<br />
Eine Überführung von Makros aus älteren MS Office-<strong>Version</strong>en ist problemlos durchführbar.<br />
Die neue Office-<strong>Version</strong> erkennt selbstständig beim Öffnen den vorhandenen<br />
Code und mittels Speichern im entsprechenden Dokumentenformat (.docm zum Beispiel<br />
bei Word-Dokumenten) wird dieser dann ausführbar.<br />
Das neue Format kann von den neuen MS Office-Anwendungen auf codebasierte Komponenten<br />
und Beziehungen überprüft werden, ohne dass möglicherweise gefährliche<br />
Code ausgeführt werden. Erscheint eine Datei verdächtig, können alle zum Ausführen<br />
von Code fähigen Komponenten aus der Datei entfernt werden, damit der Code keinen<br />
Schaden anrichten kann.<br />
2.4.3 Migration von Datenquellen<br />
Microsoft Office 2007 enthält spezielle Treiber, die zum Abrufen von Daten aus den folgenden<br />
Datenquellen verwendet werden können:<br />
� Microsoft SQL Server Analysis Services (OLAP-Anbieter)<br />
� Microsoft Office Access (ab <strong>Version</strong> 97 und tiefer muss vorkonvertiert werden)<br />
� dBASE<br />
� Microsoft FoxPro<br />
� Microsoft Office Excel<br />
� Oracle<br />
� Paradox<br />
Mit dem Datenverbindungs-Assistenten von Office 2007 kann eine Verbindung zu einer<br />
bereits definierten externen Datenquelle hergestellt werden.<br />
2.4.4 Integration von externen Anwendungen<br />
In Anlehnung an die Inhalte aus III.C 2.3.4 spielt der Grad der Integration von Microsoft-<br />
Office Suiten bei der hier betrachteten fortführenden Migration eine weniger bedeutende<br />
Rolle, da es sich um die gleiche Produktlinie handelt. Allerdings sollte auch hier die<br />
Kompatibilität der Integrationen im Vorfeld genau geprüft werden. Darüber, ob hier gegebenenfalls<br />
größere Probleme bestehen, liegen bisher noch keine gesicherten Erkenntnisse<br />
vor.<br />
Seite 464
2.5 Migration von StarOffice 7/8 u. OOo1/2 nach MS Office 2007<br />
2.5.1 Migration von Dokumenten<br />
MS Office 2007 bietet von Haus aus keine Unterstützung für die Dokumentenformate der<br />
anderen hier betrachteten Office-Umgebungen, sodass es nicht möglich ist, ODF-<br />
Dokumente oder Dokumente im alten OOo/SO -Format direkt zu importieren. Es befindet<br />
sich jedoch ein von Microsoft subventionierter Konverter in der Entwicklung 438 , der den<br />
Import und Export von ODF-Dokumenten in MS Office 2007 ermöglichen soll.<br />
Der Konverter ist auch als eigenständige Anwendung lauffähig und eignet sich somit zur<br />
Batch-Konvertierung mehrerer Dokumente. Er erzeugt allerdings kein internes Dokumentenmodell,<br />
sondern übersetzt auf der Ebene der XML-Datenstruktur per XSLT. Dies<br />
hat zur Folge, dass einfache Dokumente in der Regel zufriedenstellend übersetzt werden.<br />
Jedoch gibt es Merkmale, in denen sich die Dokumentenmodelle konzeptuell unterscheiden.<br />
Bei der Übersetzung dieser Merkmale produziert der Konverter Fehler beziehungsweise<br />
unnötig komplizierte Dokumente. Dies betrifft beispielsweise folgende<br />
Merkmale von Textdokumenten:<br />
� Einige Formatierungsattribute (Kapitälchen, blinkender Text, Zeilenabstand mit<br />
Durchschuss, Hintergrundbilder für Absätze und Tabellen)<br />
� Automatische Seitenumbrüche nach Absätzen<br />
� Zeilennummerierung<br />
� Sub-Tabellen (nahtlos in eine Tabelle eingefügte Unter-Tabellen)<br />
Da der Konverter jedoch auf solche Schwierigkeiten explizit hinweist, hält sich der Aufwand<br />
für die manuelle Durchsicht der Ergebnisse in Grenzen.<br />
Sollte der eben genannte Weg nur unbefriedigende Ergebnisse erzielen oder liegen die<br />
Quelldateien noch im alten OOo 1.X-/SO 7-Dateiformat vor, so empfiehlt es sich, die<br />
Dokumente mittels der in OpenOffice.org/StarOffice eingebauten Möglichkeiten in das<br />
korrespondierende proprietäre Microsoft-Binärformat zu konvertieren, welches von<br />
MS Office 2007 weitgehend problemlos eingelesen wird. Alternativ bietet sich gegebenenfalls<br />
der ebenfalls über zwei Schritte gehende Konvertierungspfad vom alten<br />
OOo 1.X-/SO 7-Dateiformat zu ODF und dann zu OOXML an. Letztendlich muss die<br />
Qualität der Konvertierungen darüber entscheiden, welcher Weg der beste ist.<br />
2.5.2 Migration von Makros und Skripten<br />
Keiner der in Abschnitt III.C angesprochenen Wege ermöglicht eine automatische Migration<br />
von Makros und OOo/SO -Erweiterungen, sodass eine Neuentwicklung der benötigten<br />
Funktionalitäten notwendig ist. Da aber die Hersteller aller hier angesprochenen<br />
Office-Suiten die jeweiligen Makro-Sprachen bei der Spezifikation ihrer offenen Dateiformate<br />
außen vor lassen, empfiehlt es sich zu evaluieren, ob es nicht im Interesse der<br />
Sicherheit und Interoperabilität sinnvoll ist, die Dokumente mit möglichst wenig „Eigenintelligenz"<br />
auszustatten und stattdessen die Geschäftslogik in zentralisierte Prozesse<br />
438 http://odf-converter.sourceforge.net/<br />
Seite 465
auszulagern. Hierdurch würde gleichzeitig die Wartbarkeit verbessert, da die Änderungen<br />
zentral vorgenommen werden können.<br />
2.5.3 Migration von Datenquellen<br />
Bei der Migration von Datenquellen muss zwischen OpenOffice.org 1.x / StarOffice 7<br />
und OpenOffice.org 2 / StarOffice 8 unterschieden werden, da mit der neuen <strong>Version</strong><br />
eine Datenbankkomponente enthalten ist und weitreichende Änderungen bei der Anbindung<br />
von Datenquellen vorgenommen worden sind.<br />
2.5.3.1 Datenanbindung in OpenOffice.org 1.x / StarOffice 7<br />
OpenOffice.org 1.x beziehungsweise StarOffice 7 ermöglichen es, eine Reihe von extern<br />
gespeicherten Datenquellen in der Office-Suite zu registrieren und innerhalb von .sx*-<br />
Dokumenten auf diese zuzugreifen. Bei der für die Migration notwendigen Konvertierung<br />
in das MS-Office-Dateiformat geht diese Bindung allerdings verloren, sodass etwa die<br />
erzeugten MS-Word Dokumente an der betreffenden Stelle lediglich eine textuelle Repräsentation<br />
des jeweiligen Feldnamens enthalten (siehe Abbildung 71).<br />
Abbildung 71: Externe Datenfelder nach Export in MS-Word Dokument<br />
Da die Daten jedoch extern gespeichert und entweder über standardisierte Schnittstellen<br />
wie ODBC beziehungsweise JDBC angesprochen werden oder in einem Format eines<br />
Drittherstellers (zum Beispiel dBase) vorliegen, können die Daten nach Abschluss der<br />
Migration manuell wieder an das Dokument angebunden werden.<br />
2.5.3.2 Datenanbindung in OpenOffice.org 2 / StarOffice 8<br />
In den neuen <strong>Version</strong>en der Office-Suiten erfolgt die Anbindung externer Daten immer<br />
über das integrierte Datenbankmodul Base. Dieses bietet neben der oben beschriebe-<br />
Seite 466
nen Möglichkeit, externe Datenbestände einzubinden auch ein natives Datenbankformat<br />
an. Dabei handelt es sich um die Dateistrukturen der Open Source-Datenbank HSQL,<br />
die in die ODF-ZIP-Datei eingebettet sind. Sie können dort problemlos entnommen und<br />
durch eine selbständige HSQL-Instanz 439 erschlossen werden.<br />
2.5.4 Integration von Anwendungen<br />
Die Entscheidungen und Problemstellungen bei einer ablösenden Migration von OpenOffice.org/StarOffice<br />
durch Microsoft Office decken sich mit den in Abschnitt III.C 2.3.4<br />
skizzierten Überlegungen. An die Stelle der dort genannten, Microsoft-spezifischen<br />
Schnittstellen tritt hier im Wesentlichen die Programmierschnittstelle UNO 440 der Office-<br />
Suiten OpenOffice.org beziehungsweise StarOffice. Einfach gestrickte, lose gekoppelte<br />
Anwendungsintegrationen wie zum Beispiel das Öffnen von Hyperlinks im Web-Browser<br />
oder die Einbindung von Adressbüchern verschiedener E-Mail-Programme sind bereits<br />
im Standardumfang von Microsoft Office enthalten oder lassen sich durch Installation<br />
entsprechender Software von Drittherstellern leicht nachrüsten. Hingegen erfordern Anwendungen,<br />
die vergleichsweise eng an die interne Funktionsweise der Office-Suiten<br />
gebunden sind (beispielsweise die sogenannten „Extensions"), eine Neuentwicklung<br />
oder die Suche nach einem gleichwertigen Ersatz.<br />
2.6 Migration von StarOffice 7/OOo1 nach StarOffice 8/OOo2Star<br />
2.6.1 Migration von Dokumenten<br />
SO 7/OOo 1 und SO 8/OOo 2 verwenden unterschiedliche Dateiformate. Daher werden<br />
für eine Migration entsprechende Konverter beziehungsweise Im- und Exportfilter benötigt,<br />
die jedoch durch die neuen <strong>Version</strong>en zur Verfügung gestellt werden.<br />
Die folgende Tabelle zeigt die in SO 8/OOo 2 zur Verfügung gestellten Filter, die alle<br />
sowohl für den Export als auch für den Import verwendet werden können:<br />
Filtername Betreffendes Format<br />
StarOffice 6.0/7 Text Document StarOffice XML Textdokument<br />
StarOffice 6.0/7 Text Document Template StarOffice_XML Textvorlage<br />
OpenDocument Text Open Document Text<br />
OpenDocument Text Template Open Document Textvorlage<br />
StarOffice 6.0/7 Master Document Writer Globaldocument<br />
OpenDocument Master Document Open Document Master<br />
StarOffice 6.0/7 Spreadsheet StarOffice XML (Calc)<br />
439 Siehe http://hsqldb.org/.<br />
440 Siehe http://udk.openoffice.org/<br />
Seite 467
Filtername Betreffendes Format<br />
StarOffice 6.0/7 Spreadsheet Template StarOffice XML Vorlage (Calc)<br />
OpenDocument Spreadsheet Open Dokument Tabellendokument<br />
OpenDocument Spreadsheet Template Open Dokument Tabellendokumentvorlage<br />
StarOffice 6.0/7 Drawing StarOffice XML (Draw)<br />
StarOffice 6.0/7 Drawing Template StarOffice XML Vorlage (Draw)<br />
OpenDocument Drawing OpenDocument Zeichnung<br />
OpenDocument Drawing Template OpenDocument Zeichnungsvorlage<br />
StarOffice 6.0/7 Presentation StarOffice XML (Impress)<br />
StarOffice 6.0/7 Presentation Template StarOffice XML Vorlage (Impress)<br />
OpenDocument Presentation OpenDocument Präsentation<br />
OpenDocument Presentation Template OpenDocument Präsentationsvorlage<br />
StarOffice 6.0/7 Chart StarOffice XML (Chart)<br />
OpenDocument Chart OpenDocument Chartdokument<br />
StarOffice 6.0/7 Formula StarOffice XML (Math)<br />
OpenDocument Formula OpenDocument Formeldeditor<br />
Tabelle 74: Verfügbare Dokumentenformatfilter in SO 8/OOo 2<br />
Die Funktionalitäten der gezeigten Filter sind sehr umfangreich und ermöglichen eine<br />
vollständige Konvertierung zwischen den Dokumenten und Vorlagen in die verschiedenen<br />
Datei-Formate. Eine Installation der Filter ist nicht erforderlich, da sie zum Standardumfang<br />
der Office Suite gehören und beim Öffnen eines Dokumentes automatisch<br />
angewandt werden. Seit der <strong>Version</strong> 1.1.5 ist der Filter für das Open Document Format<br />
in OpenOffice.org integriert. Für ältere <strong>Version</strong>en existiert ein Patch, das diese Funktionalität<br />
bereitstellt. Für die Nutzung sind daher keine besonderen Kenntnisse notwendig.<br />
Die Migration kann hier problemlos durch das Öffnen der Dokumente in der Anwendung<br />
erfolgen. Auf eine automatisierte Konvertierung mit Batch-Scripten kann verzichtet werden.<br />
Erwähnenswert ist ferner, dass es für die alten <strong>Version</strong>en, SO 7/OOo 1, einen<br />
Patch gibt, mit dessen Hilfe diese dann auch das neue Format (ODF) nutzen können.<br />
2.6.2 Migration von Makros und Skripten<br />
Innerhalb der beiden OpenOffice.org- und StarOffice-<strong>Version</strong>en gibt es keine wesentlichen<br />
Unterschiede in der Programmierung. Der Nutzer kann weiterhin auf ein betriebssystem-<br />
und programmiersprachenunabhängiges API zurückgreifen und mit StarBasic,<br />
Java, C++ und Python Erweiterungen erstellen.<br />
Seite 468
Dennoch können sich Probleme bei der Migration älterer Makros und Skripte ergeben.<br />
Das liegt insbesondere daran, dass diese Erweiterungen sehr nah am internen Systemmodell<br />
von OpenOffice.org ansetzen und bestimmte Funktionalitäten durch das API evtl.<br />
nicht mehr angeboten werden. Das kann dazu führen, dass Teile von Makros nicht mehr<br />
ausführbar sind oder nicht mehr die gewünschte Funktionalität liefern. Bei quelloffenen<br />
Entwicklungen findet sich bei solchen Problemen meist Hilfe in der Dokumentation oder<br />
den „Developer Notes―. Unternehmensinterne Macroentwicklungen sollten vor ihrer Anwendung<br />
auch auf ihre korrekte Funktionsweise überprüft werden.<br />
2.6.3 Migration von Datenquellen<br />
Seit StarOffice 7 und OpenOffice.org 1.1 verfügt die Office-Suite über eine integrierte,<br />
systemunabhängige Datenbankschnittstelle namens Star Database Connectivity<br />
(SDBC). Sie gestattet einen Highlevel-Zugriff 441 auf Datenbanken, unabhängig von den<br />
darunter liegenden Datenbank-BackEnds. Die Einbindung der Datenquellen erfolgt mittels<br />
Treibern, die entweder von Datenbankhersteller geliefert oder mit OpenOffice.org<br />
entwickelt werden. Seit der <strong>Version</strong> 2 von OpenOffice.org beziehungsweise StarOffice 8<br />
verfügt die OfficeSuite über ein eigenständiges Datenbankmodul, welches das bisher<br />
verwendete Datenbank-Frontend ablöst und die Anbindung von Datenquellen vereinfacht.<br />
Bei einer Migration der alten Datenquellen sind keine Probleme zu erwarten.<br />
2.6.4 Integration von Anwendungen<br />
OpenOffice.org bietet verschiedene Programmierschnittstellen für die Anwendungsintegration.<br />
Mit der Office-Bean, einer Java Klasse, lassen sich OpenOffice.org-<br />
Komponenten in eigene Java-Anwendungen einbinden. Sie ermöglichen damit die Integration<br />
von Funktionen aus der Office-Suite, die mittels eingefügter Buttons aufgerufen<br />
werden können. Die Office-Bean dient dem Einbetten der Office-Funktionalität in Java-<br />
Programme sowie dem Einbetten von Java-Programmen in OpenOffice.org/StarOffice.<br />
Sie verfügt seit der <strong>Version</strong> 2 über die notwendige Stabilität und Reife für den produktiven<br />
Einsatz. Die Office-Suiten verfügen weiterhin in beiden <strong>Version</strong>en über eine OpenOffice/StarOffice-spezifische<br />
Objekt-Middleware namens UNO, die sich aus StarBasic,<br />
Java, C++ und Python ansprechen lässt. UNO ist eine Schnittstelle, über die unterschiedliche<br />
Programmiersprachen die Funktionen von Open Office nutzen. Da die Systeme<br />
zur Anwendungsintegration vom Prinzip her gleich geblieben sind, funktionell aber<br />
deutlich erweitert wurden, kann von einer problemlosen Migration ausgegangen werden,<br />
sofern das gleiche Betriebssystem verwendet wird.<br />
441 Ein Zugriff der unabhängig von dem darunter liegenden Datenbank-Backend erfolgt.<br />
Seite 469
3 Bezüge<br />
3.1 Teaming-/Workgroup Software<br />
Um effizient in Arbeitsgruppen arbeiten zu können, wird Teaming-/Workgroup Software<br />
eingesetzt. Diese Programme ermöglichen eine effiziente Publikation und Archivierung<br />
von Dateien sowie verschiedene Kommunikationsmöglichkeiten. Zu diesem Zweck sind<br />
deren Funktionen häufig als PlugIns innerhalb der Officeanwendungen integrierbar.<br />
Es entsteht hierdurch ein direkter Bezug zu dem Abschnitt III.B .<br />
Seite 470
D Thema Backend-Integration<br />
1 Produkte/Technologien<br />
Dieses Kapitel befasst sich primär mit den beiden Softwareplattformen J2EE und .NET.<br />
Beide Plattformen ermöglichen die Entwicklung von Individualanwendungen. Dabei spielt<br />
es keine Rolle, um welche Art von Anwendung es sich handelt. Auf beiden Plattformen<br />
können sowohl Desktop-Anwendungen für den Client als auch Server-Anwendungen<br />
entwickelt werden. Ein Schwerpunkt beider Technologien ist die Entwicklung von Web-<br />
Anwendungen.<br />
Im Fokus dieses Kapitels stehen jedoch weniger die Funktionalitäten für die Entwicklung<br />
von Web-Anwendungen, sondern die grundlegenden Funktionalitäten im Bereich der<br />
Entwicklung von Anwendungen auf Serverseite sowie die konzeptionellen Unterschiede<br />
der beiden Technologien. Auf die migrationsrelevanten Funktionalitäten in Hinblick auf<br />
die Integration von Backend-Systemen wird darüber hinaus auch im Kapitel Migrationspfade<br />
(siehe Kap.0) eingegangen.<br />
Neben den beiden Softwareplattformen J2EE und .NET finden sich in diesem Rahmen<br />
auch Ausführungen zu CORBA, einer bewährten Middleware-Technologie. Im Unterschied<br />
zu J2EE und .NET können mittels CORBA jedoch keine Anwendungen entwickelt<br />
werden.<br />
Aber auch zwischen Java, insbesondere J2EE, und .NET gibt es grundlegende Unterschiede:<br />
J2EE hat zum Ziel, eine einheitliche, plattformunabhängige Laufzeitumgebung<br />
für verteilte Applikationen bereitzustellen. Dieses Ziel „eine Sprache für alle Plattformen―<br />
ist mit Hilfe beeindruckender Entwicklungsumgebungen erfolgreich in die Praxis umgesetzt<br />
worden. Das .NET-Framework geht den umgekehrten Weg. Hier wird für alle Sprachen,<br />
die vor allem in der Windows-Welt zur Programmierung herangezogen wurden<br />
(u.a. auch Visual Basic), eine einheitliche Laufzeitumgebung für Windows-Maschinen<br />
(Clients und Server) bereitgestellt. Kompatibilität mit anderen Plattformen ist bei diesem<br />
Ansatz „eine Plattform für alle Sprachen― im Kern nicht realisiert worden. Wie die Beispiele<br />
in den folgenden Kapiteln zeigen werden, sind diese grundlegenden Unterschiede<br />
der beiden Ansätze heute nicht mehr in jedem Fall gültig.<br />
1.1 Microsoft .NET-Plattform (COM, DCOM, OLE, ActiveX)<br />
Bei der Microsoft .NET-Plattform handelt es sich um die Umsetzung des sogenannten<br />
Common-Language-Infrastructure-Standard 442 für Windows. Wichtige Teile des Frameworks<br />
(die Common Language Infrastructure (CLI) und die Programmiersprache C#)<br />
wurden darüber hinaus als ISO-Standard verabschiedet. Ziel dieses Standards ist es, die<br />
Entwicklung und die Ausführung von Anwendungen weitgehend unabhängig von der<br />
verwendeten Programmiersprache zu machen.<br />
442 http://www.ecma-international.org/publications/standards/Ecma-335.htm<br />
Seite 471
Damit sollte insbesondere dem Wildwuchs an speziellen Abstraktionstechnologien 443 , die<br />
auf die Unterstützung der Entwicklung einer bestimmten Art von Anwendungen zielten,<br />
sowie den aus der mangelnden Integration dieser Technologien resultierenden Problemen<br />
444 begegnet werden.<br />
Das .NET-Framework ist im Microsoft-Betriebssystem Windows Vista standardmäßig<br />
enthalten und für andere Microsoft-Betriebssysteme kostenlos nachinstallierbar.<br />
Die folgende Abbildung zeigt einen Überblick der Komponenten des Frameworks:<br />
J# C# ... C++<br />
Compiler Compiler Compiler Compiler<br />
IL Code IL Code IL Code IL Code<br />
Common Language Runtime<br />
Betriebssystem<br />
JIT Compiler<br />
Abbildung 72: Komponenten des .NET-Frameworks<br />
Seite 472<br />
ASM Code<br />
Im Common-Language-Infrastructure-Standard werden die folgenden Konzepte spezifiziert:<br />
� Common Language Specification - Festlegung eines einheitlichen Grundumfangs<br />
der einsetzbaren Programmiersprachen<br />
� Common Type System - Definition eines gemeinsamen Typsystems<br />
� Virtual Execution System - Laufzeitumgebung, die eine ebenfalls standardisierte<br />
Zwischensprache (Common Intermediate Language – CIL) verarbeiten kann<br />
� Bibliotheken und Profile - Spezifikation von sieben Standardbibliotheken, die typische<br />
wiederverwendbare Anwendungsfunktionalität enthalten sowie von zwei<br />
Profilen, die sinnvolle Grundmengen von einer Standardimplementation umgesetzter<br />
Bibliotheken beschreiben.<br />
Die Anwendungen werden in einer von .NET unterstützten Sprache programmiert und<br />
können auf die umfangreichen .NET-Klassenbibliotheken zurückgreifen. Durch das .NET<br />
443 Beispiele hierfür sind Microsoft Active Server Pages (ASP) zur Entwicklung aktiver Web-<br />
Seiten und Microsoft Active Template Library (ATL) zur Benutzung anderer Komponenten<br />
durch die eigene Anwendung.<br />
444 Zur Erstellung einer aktiven Web-Seite, die andere Komponenten verwenden soll, muss<br />
sich der Entwickler sowohl in die ASP- als auch in die ATL-Technologie einarbeiten und<br />
beide kombiniert verwenden.
Framework wird eine große Anzahl an Programmiersprachen unterstützt. Der jeweilige<br />
Compiler übersetzt den Quellcode in einen Befehlscode (keinen Maschinencode), der<br />
als CIL-Code (Common Intermediate Language), teilweise auch als IL-Code (Intermediate<br />
Language) bezeichnet wird. Die Kombination aus solchen Kompilaten und zugehörigen<br />
Metadaten wird als „Assembly" bezeichnet und ist die typische Deployment-Einheit<br />
der .NET-Welt. Ergebnis dieser Aktion ist zum Beispiel eine EXE-Datei. Wird diese EXE-<br />
Datei geladen, wird sie von der Common Language Runtime (CLR) mit ihrem JIT-<br />
Compiler (Just-In-Time) in Maschinencode umgesetzt.<br />
In der .NET-Plattform von Microsoft implementiert die Common Language Runtime<br />
(CLR) die Laufzeitumgebung (VES). Neben der Generierung und Verwaltung von Maschinencode<br />
bietet die CLR weitere Leistungen, insbesondere zur Speicherverwaltung<br />
(Garbage Collection).<br />
Ergänzt wird diese neben den Standardbibliotheken durch zahlreiche weitere Klassenbibliotheken<br />
(Microsoft spricht hier von „Technologien‖), durch die .NET in seinem vollen<br />
Umfang nur für Windows verfügbar ist. .NET gibt es in den folgenden <strong>Version</strong>en:<br />
� .NET 2.0:<br />
Umfangreichere Erweiterung der Funktionalitäten von .NET, zum Beispiel Data<br />
Protection API (DPAPI), FTP-Unterstützung, bessere Unterstützung für die Internationalisierung<br />
von Anwendungen<br />
� .NET <strong>3.0</strong>:<br />
Umfasst .NET 2.0 und ergänzt dieses um einige Microsoft-Technologien 445<br />
� Windows Presentation Foundation:<br />
einheitlicher Ansatz für verschiedene Benutzeroberflächen<br />
� Windows Workflow Foundation:<br />
Unterstützung workflowbasierter Anwendungen<br />
� Windows Communication Foundation:<br />
Unterstützung serviceorientierter Anwendungen durch einen einheitlichen Ansatz<br />
für unterschiedliche Kommunikationstechnologien<br />
� Windows CardSpace:<br />
zentrale und konsistente Verwaltung digitaler Identitäten zur Authentifizierung<br />
(sowohl von Nutzern als auch von Anwendungen)<br />
Neben der Programmiersprachenunabhängigkeit liegt ein weiterer Schwerpunkt der<br />
.NET-Plattform auf der Unterstützung der Entwicklung verteilter Anwendungen, insbesondere<br />
unter Verwendung von Web Services.<br />
Durch die .NET-Plattform sollen auch frühere Microsoft-Technologien zur komponentenbasierten<br />
Anwendungsentwicklung, wie zum Beispiel COM, DCOM und ActiveX abgelöst<br />
werden. Diese Ansätze können jedoch auch weiterhin mit .NET koexistieren. Es existieren<br />
darüber hinaus Möglichkeiten zum gegenseitigen Aufruf von .NET- und COM-<br />
Funktionen. Aufgrund des robusteren Sicherheitsmodells und des automatischen<br />
445 http://www.microsoft.com/germany/msdn/library/net/EinfuehrungInNETFramework30.<br />
mspx?mfr=true<br />
Seite 473
Speichermanagements empfiehlt Microsoft jedoch auch für Neuentwicklungen die .NET-<br />
Plattform.<br />
Das .NET-Framework erlaubt mittels der sogenannten Codezugriffssicherheit (Code<br />
Access Security, CAS) die Beeinflussung der Berechtigung auf Anwendungsebene. Auf<br />
diese Weise kann festgelegt werden, welche Aktionen (zum Beispiel Zugriff auf Ressourcen<br />
wie Dateien, Umgebungsvariablen, Drucker oder Datenbanken) eine Anwendung<br />
durchführen darf, und zwar unabhängig davon, ob der ausführende Benutzer ein<br />
einfacher Benutzer oder ein Administrator ist. Neben den standardmäßig vorhandenen<br />
Berechtigungen können auch neue Berechtigungen implementiert werden. Darüber<br />
hinaus existiert auch die Möglichkeit, Sicherheitseinstellungen in Abhängigkeit von der<br />
Identität des ausführenden Benutzers oder der Herkunft des Programms vorzunehmen.<br />
Die Sicherheitsüberprüfungen werden von der Common Language Runtime vorgenommen<br />
und betreffen nur reine .NET-Anwendungen. So werden beispielsweise aus .NET-<br />
Anwendungen aufgerufene COM-Funktionen ohne sicherheitsbasierte Einschränkungen<br />
(abgesehen von den betriebssystemseitig vergebenen Benutzerrechten) ausgeführt.<br />
Durch solche externe Aufrufe von Altmodulen (COM- oder DCOM-basiert) kann die CAS<br />
umgangen werden, selbst wenn sie eingeschaltet ist. Insbesondere durch die Übernahme<br />
von bewährten aber älteren Softwaremodulen auf COM- oder DCOM-Basis, wird<br />
dadurch die CAS häufig umgangen. Aus diesen Gründen lehnen viele Entwickler die<br />
CAS als prinzipiell hilfreich aber nicht praktikabel ab.<br />
Von der CLR ausgeführte CIL-Programme werden als „Managed Components― bezeichnet,<br />
weil sie von der CLR unter Einbeziehung der CAS kontrolliert ausgeführt werden.<br />
Code, der nicht von der CLR, sondern direkt von der CPU ausgeführt wird, wird im<br />
Gegensatz dazu als „Unmanaged Code― bezeichnet. Dies betrifft zum Beispiel aus .NET-<br />
Anwendungen heraus aufgerufene COM-Funktionen. Der Begriff „Managed Code―<br />
bezeichnet also die Ausführung von Code durch eine Virtual Machine beziehungsweise<br />
das Management dieses Codes. Obwohl der Begriff „Managed Code― durch Microsoft<br />
geprägt wurde, wird diese Technik zum Beispiel auch von Java eingesetzt. Auch hier<br />
übernimmt eine Virtual Machine das Management des Codes.<br />
Die konzeptionell gegebene Plattformunabhängigkeit der zugrundeliegenden Common<br />
Language Infrastructure (CLI) und ihre Standardisierung durch Ecma International und<br />
ISO haben dazu geführt, dass es mittlerweile zwei OpenSource-Projekte gibt, die .NET-<br />
Funktionalitäten auch auf anderen Betriebssystemen zur Verfügung stellen 446 . Dabei<br />
handelt es sich zum einen um das von Novell unterstützte Mono 447 und zum anderen um<br />
das DotGNU Portable.NET 448 .<br />
Bei Mono handelt es sich um eine Entwicklungs- und Laufzeitumgebung, die die Erstellung<br />
und Ausführung von .NET-Anwendungen unter Linux, Solaris, Mac OS X, Windows<br />
und Unix ermöglicht. Der Stand der .NET-Unterstützung von Mono in der aktuellen <strong>Version</strong><br />
1.2.4 liegt zwischen .NET 1.1 und .NET 2.0. Bis Ende 2007 soll die .NET-2.0-Unterstützung<br />
vollständig sein.<br />
446 Inwieweit diese technischen Möglichkeiten am Ende durch rechtliche Belange, wie Patente<br />
oder Urheberrecht beschränkt werden, muss sich erst noch zeigen.<br />
447 http://www.mono-project.com/Main_Page<br />
448 http://www.dotgnu.org/pnet.html<br />
Seite 474
Das erklärte Ziel von DotGNUs Portable.NET ist es, eine Sammlung freier Software-<br />
Werkzeuge zur Compilierung und Ausführung von CLI-Anwendungen aufzubauen.<br />
DotGNU Portable.NET konzentriert sich dabei auf die Kompatibilität mit den entsprechenden<br />
Standards ECMA-334 449 (Programmiersprache C#) und ECMA-335 450 (CLI) als<br />
auch auf Microsofts reale CLI-Implementation (.NET). Hierdurch soll erreicht werden,<br />
dass zum einen Anwendungen, die unter Portable.NET entwickelt wurden, problemlos<br />
unter Microsoft .NET laufen, und dass zum anderen auch viele Microsoft .NET-Anwendungen<br />
gut unter Portable.NET und damit auch unter so verschiedenen Betriebssystemen<br />
wie beispielsweise Linux, NetBSD, FreeBSD, Solaris und MacOS X funktionieren.<br />
Zusammenfassend lässt sich festhalten, dass die .NET-Plattform es ermöglicht, Anwendungen<br />
in verschiedensten Programmiersprachen zu entwickeln. Die jüngsten funktionalen<br />
Ergänzungen stehen nur in Microsoft-Windows-Umgebungen zur Verfügung, da die<br />
durch Microsoft erfolgenden Weiterentwicklungen immer erst nach deren Veröffentlichung<br />
von den Open-Source-Plattformen nachvollzogen werden können. In der Regel<br />
stehen alle Erweiterungen nach ihrer Veröffentlichung mit einiger zeitlicher Verzögerung<br />
auch in den Open-Source-Plattformen zur Verfügung. Dabei ist zu beachten, dass proprietäre,<br />
nicht standardisierte Erweiterungen von Microsoft gegebenenfalls aus lizenztechnischen<br />
Gründen nicht in die Open-Source-Plattformen aufgenommen werden können.<br />
1.2 SUN J2EE-Plattform<br />
1999 teilte SUN seine bis dahin in einem einzigen Entwicklungskit gebündelten Java-<br />
Klassenbibliotheken in drei Editionen auf:<br />
� Java 2 Platform, Standard Edition (J2SE):<br />
Diese Edition ist das Grundgerüst der Programmiersprache Java. Die Edition<br />
ermöglicht die Entwicklungen von Java-Anwendungen primär für Clients und<br />
bildet darüber hinaus die technische Grundlage für die Java 2 Platform, Enterprise<br />
Edition (J2EE).<br />
� Java 2 Platform, Enterprise Edition (J2EE):<br />
Die Enterprise Edition erweitert die Standard Edition um eine ganze Reihe von<br />
Funktionalitäten, die die serverseitige Implementierung von Anwendungen unterstützen.<br />
Dazu zählen zum Beispiel Komponentenmodell, Kommunikations-<br />
APIs und Management Funktionalitäten. Die Enterprise Edition wird von SUN für<br />
die Entwicklung von serviceorientierten Architekturen empfohlen.<br />
� Java 2 Platform, Micro Edition (J2ME):<br />
Die Micro Edition schränkt hingegen die Standard Edition dergestalt ein, dass<br />
eine Entwicklung von Java-Anwendungen für Geräte mit geringerer Hardware-<br />
Leistungsfähigkeit (z. B. Mobiltelefone, PDAs u.Ä.) möglich wird.<br />
SUN bietet für die in diesem Abschnitt näher betrachtete Enterprise Edition (J2EE) eine<br />
Referenzimplementierung, die primär jedoch nicht für den praktischen Einsatz vorgesehen<br />
ist. Unterschiedliche Hersteller (darunter auch SUN) bieten auf Basis dieser<br />
449 http://www.ecma-international.org/publications/standards/Ecma-334.htm<br />
450 http://www.ecma-international.org/publications/standards/Ecma-335.htm<br />
Seite 475
Referenzimplementierung Applikationsserver an, die den J2EE Standard gemäß dieser<br />
Referenzimplementierung umsetzen.<br />
Aufgrund der inhärenten Unabhängigkeit der Java-Sprache und -Konzepte von der eingesetzten<br />
Hardware-Betriebssystem-Kombination und ihrer freien Verfügbarkeit 451 hat<br />
die J2EE-Plattform eine weite Verbreitung gefunden 452 .<br />
In der aktuell verfügbaren <strong>Version</strong> 1.5 453 wurde die Java 2 Platform, Enterprise Edition<br />
(J2EE) in Java Platform, Enterprise Edition (Java EE) umbenannt. Da sich der Name<br />
J2EE eingebürgert hat und erst mit der neuesten <strong>Version</strong> geändert wurde, wird im Rahmen<br />
dieses Leitfadens weiterhin die Bezeichnung J2EE verwendet.<br />
Die Architektur von J2EE definiert ein Komponentenmodell (Beans), kapselt großkalibrige<br />
Informationstechnik und Querschnittsdienste (Datenbanken, Transaktionen,<br />
Verzeichnisse, Transaktionsmonitoren/Message Queueing, sonstige Legacy-EIS) in<br />
Standardschnittstellen und verbindet beides - Komponenten und Schnittstellen – überwiegend<br />
deklarativ im Laufzeitsystem. Maßgebliche Aufgabe der Implementationen ist,<br />
Querschnittsdienste und Management-Werkzeuge bereit zu stellen. Außerdem definiert<br />
J2EE ein rollenbasiertes Entwicklungsmodell.<br />
Abbildung 73: Strukturelle Sicht - Mehrschichtenarchitektur 454<br />
Die J2EE-Plattform enthält zur Entwicklung von serverbasierten Java-Anwendungen und<br />
Web-Services zahlreiche Klassenbibliotheken, die Funktionalitäten und Dienste zur Entwicklung<br />
verteilter und mehrschichtiger Java-Anwendungen bereitstellen. Die Konzepte<br />
von J2EE bauen auf Architekturprinzipen auf, wie sie u.a. auch von SAGA gefordert<br />
werden. Das heißt, es lassen sich SAGA konforme Mehrschichtarchitekturen realisieren.<br />
Ein wichtiges Grundkonzept dafür sind Komponenten, die auf einem sogenannten Applikationsserver<br />
(J2EE Application Server) ausgeführt werden.<br />
451 http://java.sun.com/javaee/overview/faq/j2ee.jsp#free<br />
452 http://www.java.com/en/javahistory/timeline.jsp hatten die Downloadzahlen des J2EE-<br />
Softwareentwicklungskits bereits im Jahr 2002 die 2-Millionen-Grenze erreicht.<br />
453 Stand Oktober 2007<br />
454 SAGA 4.0<br />
Seite 476
Der Applikationsserver bietet den Komponenten u.a. die folgenden grundlegenden<br />
Dienste an:<br />
� Sicherheitsmanagement<br />
� Transaktionsmanagement<br />
� Namens- und Verzeichnisdienste<br />
� Kommunikation zwischen den Komponenten<br />
� Lebenszyklusmanagement der Komponenten<br />
� Bereitstellungsunterstützung (Deployment)<br />
Ebenso wie eine auf Basis von J2SE entwickelte Anwendung stellt der J2EE Applikationsserver<br />
den Komponenten eine Abstraktion der Ressourcen der zugrunde<br />
liegenden Hardware-Betriebssystem-Kombination (Dateisystem, Netzwerk, …) zur<br />
Verfügung. Damit wird die Entwicklung weitgehend plattformunabhängiger Anwendungen<br />
ermöglicht. 455 Im Gegensatz zu J2SE bietet dieser Server weitergehende Unterstützung<br />
für die Entwicklung serverseitiger Anwendungen, zum Beispiel im Bereich<br />
Multiuserbetrieb, Lastenverteilung und Skalierung.<br />
Die J2EE-Spezifikation definiert die folgenden Komponentenarten:<br />
� Client-Anwendungen und Applets:<br />
Diese Komponenten laufen auf dem Client-Rechner und dienen dem Zugriff auf<br />
die serverseitigen Teile der jeweiligen Anwendung.<br />
� Java Servlet, JavaServer Faces, und JavaServer Pages (JSP):<br />
Hierbei handelt es sich um technische Komponenten, die auf dem Server ausgeführt<br />
werden und zum Beispiel den Zugriff auf die Anwendung über einen Web-<br />
Client (Browser, der serverseitig generierte Web-Seiten anzeigt) ermöglichen.<br />
� Enterprise JavaBeans (EJB):<br />
Die EJBs sind serverseitige Komponenten, welche die Anwendungslogik implementieren.<br />
Sie dienen zur Vereinfachung der Entwicklung komplexer, mehrschichtiger<br />
und verteilter Anwendungssysteme. Es gibt folgende Arten von EJBs:<br />
o Entity Beans, welche die Modellierung von (persistenten) Daten ermöglichen.<br />
o Session Beans, zur Umsetzung zustandsloser oder zustandsbehafteter Vorgänge,<br />
wobei Session Beans seit der <strong>Version</strong> 1.4 auch als Web Service aufgerufen<br />
werden können.<br />
o Message Driven Beans für eine asynchrone Kommunikation zum Beispiel mit<br />
Legacy-Anwendungen über den Java Message Service (JMS).<br />
� Java Naming and Directory Interface (JNDI):<br />
Hierbei handelt es sich um einen Namens- und Verzeichnisdienst, der zum einen<br />
455 Leitfaden Plattformunabhängigkeit von Fachanwendungen,<br />
http://www.kbst.bund.de/cln_012/nn_836802/SharedDocs/Anlagen-kbst/software_Leitfaden<br />
___20Plattformunabhaengigkeit__von__Fachanwendungen,templateId=raw,property=publi<br />
cationFile.pdf/software_Leitfaden_%20Plattformunabhaengigkeit_von_Fachanwendungen.pdf<br />
Seite 477
die Möglichkeit bietet, Referenzen auf entfernte Objekte unter einem bestimmten<br />
Namen und an einem definierten Platz zu hinterlegen (Binding). Zum anderen ist<br />
es über JNDI möglich, gebundene Objekte über deren Namen wieder zu finden<br />
(Lookup).<br />
� Java IDL/Corba:<br />
Java IDL bildet eine Schnittstelle zu CORBA. Mit Java IDL können Java-ORBs<br />
implementiert werden.<br />
� Remote Method Invocation (RMI) und RMI via IIOP (RMI-IIOP):<br />
RMI wird für die verteilte Kommunikation zwischen Objekten eingesetzt. Mit RMI-<br />
IIOP ist J2EE kompatibel mit CORBA.<br />
Auch die J2EE-Plattform verfügt über Mechanismen für die Sicherheit von Anwendungen,<br />
mittels derer Berechtigungen auch auf sehr detaillierten Ebenen in Abhängigkeit,<br />
woher die auszuführende Anwendung stammt oder wer sie ausführt, vergeben werden<br />
können. Beispielhaft sei an dieser Stelle auf JAAS (Java Authentication und Authorization<br />
Service) verwiesen. Mit JAAS steht ein Framework zur Verfügung, mit dem sich<br />
eine Benutzerauthentisierung für unterschiedlichste Arten von Anwendungen, inklusive<br />
Standalone Anwendungen und Rich Clients, realisieren lassen. Häufig bietet J2EE die<br />
Möglichkeit, je nach den individuellen Anforderungen unterschiedliche Lösungen einzusetzen.<br />
Für die Authentisierung besteht neben JAAS zum Beispiel die Möglichkeit einer<br />
formularbasierten oder einer HTTP basierten Authentisierung. Bei der formularbasierten<br />
Authentisierung können, wie der Name sagt, beliebige HTML Formulare für eine Authentisierung<br />
verwendet werden. Die HTTP basierte Authentisierung hingegen veranlasst<br />
einen Webbrowser Username und Passwort über einen entsprechenden Dialog abzufragen.<br />
Somit sind diese beiden Mechanismen im Gegensatz zu JAAS eher für Webanwendungen<br />
gedacht.<br />
Neben der Referenzimplementierung von SUN existieren zahlreiche weitere Applikationsserver-Lösungen.<br />
Darunter finden sich Open-Source-Produkte wie<br />
� GlassFish 456 ,<br />
� JBoss Application Server 457 ,<br />
� Apache Geronimo 458 und<br />
� ObjectWeb JOnAS 459 ,<br />
sowie proprietäre Produkte namhafter Hersteller wie zum Beispiel:<br />
� BEA WebLogic Server 460 ,<br />
� IBM WebSphere Application Server 461 ,<br />
� SAP NetWeaver Application Server 462 und<br />
456 https://glassfish.dev.java.net/<br />
457 http://www.jboss.com/products/jbossas<br />
458 http://geronimo.apache.org/<br />
459 http://wiki.jonas.objectweb.org/xwiki/bin/view/Main/WebHome<br />
460 http://www.bea.com/framework.jsp?CNT=index.htm&FP=/content/products/weblogic/server/<br />
461 http://www-306.ibm.com/software/webservers/appserv/was/features/<br />
Seite 478
� Oracle Application Server. 463<br />
Der genaue Umfang der J2EE-Unterstützung variiert zwischen den einzelnen Applikationsservern.<br />
Einige der genannten Server sind von SUN J2EE zertifiziert, allerdings liegt<br />
derzeit häufig nur eine Zertifizierung nach J2EE 1.4 vor. Einige Funktionalitäten von Java<br />
EE 5 werden heute noch nicht unterstützt.<br />
Anwendungen, die unter Verwendung der J2EE-Plattform entwickelt wurden, lassen sich<br />
über diverse Schnittstellen mit anderen Systemen oder Anwendungen verbinden. Hierfür<br />
existieren u.a. folgende Technologien:<br />
� The Java Database Connectivity API (JDBC):<br />
Über diese Programmierschnittstelle können relationale Datenbanken aus Java-<br />
Programmen angesprochen werden.<br />
� The Java Persistence API (JPA):<br />
Auch wenn über JDBC der prinzipielle Zugriff auf relationale Datenbanken ermöglicht<br />
wird, ist eine Speicherung von Objekten in einer relationalen Datenbank<br />
nicht ohne weiteres möglich, da sich der Aufbau einer relationalen Datenbank<br />
grundsätzlich von der Struktur der zu speichernden Java-Objekte unterscheidet.<br />
Zur Speicherung der Objekte ist daher ein Object-Relationales-Mapping notwendig.<br />
Die JPA stellt eine datenbankunabhängige Schnittstelle für ein solches Mapping<br />
bereit.<br />
� The J2EE Connector Architecture (JCA):<br />
Diese Technologie ermöglicht die Anbindung existierender Altanwendungen (sogenannter<br />
Enterprise Information Systems) an neuentwickelte Anwendungen<br />
über eine standardisierte Architektur.<br />
� The Java Transaction API (JTA):<br />
Diese API definiert Schnittstellen, über die sich verteilte Transaktionsmanagementsysteme<br />
an J2EE-Anwendungen anbinden lassen.<br />
Im Resümee ist festzuhalten, dass die J2EE-Plattform eine etablierte Technologie bietet,<br />
die sich in der Praxis vielfach bewährt hat. Auch komplexe Anwendungen lassen sich mit<br />
J2EE realisieren. Viele Produkte und Technologien auch namhafter Hersteller basieren<br />
heute auf der Java-Technologie. Neben den Implementierungen von SUN gibt es noch<br />
weitere zahlreiche J2EE-Implementierungen unterschiedlicher Hersteller, sodass der<br />
Kunde die Wahl zwischen einer Vielzahl von Produkten hat.<br />
Bei der J2EE-Plattform stellt sich die Gesamtsituation jedoch anders dar als bei<br />
Microsoft .NET. Während bei .NET der Einsatz unterschiedlicher Programmiersprachen<br />
bereits im Konzept vorgesehen war, basierte die Idee von Java darauf, Anwendungen,<br />
die mit einer Programmiersprache (Java) entwickelt wurden, auf unterschiedlichen<br />
Betriebssystemplattformen laufen zu lassen. Mittlerweile hat SUN damit begonnen, die<br />
Java-Technologie als OpenSource unter die GPLv2 zu stellen. Beispielsweise sind<br />
große Teile von Java SE unter der GPLv2 verfügbar. Open Source Projekte wie zum<br />
462 http://www.sap.com/germany/plattform/netweaver/components/appserver/index.epx<br />
463 http://www.oracle.com/lang/de/appserver/index.html<br />
Seite 479
Beispiel Apache Harmony arbeiten bereits daran, eine Open Source <strong>Version</strong> der Java-<br />
Technologie zu entwickeln.<br />
Zwar besteht auch bei Java theoretisch die Möglichkeit, Compiler zu entwickeln, die<br />
neben Java weitere Programmiersprachen ermöglichen. Dieser Ansatz ist jedoch in der<br />
Praxis vergleichsweise wenig verbreitet. Mit dem Aufkommen von Sprachen wie Ruby<br />
könnte sich das in der Zukunft jedoch ändern. Beispielweise gibt es mit JRuby bereits<br />
heute eine Möglichkeit, Java und Ruby gleichzeitig einzusetzen.<br />
1.3 Object Management Group CORBA<br />
Die Common Object Request Broker Architecture (CORBA) definiert auf einer sehr<br />
hohen Abstraktionsebene, wie verteilte Objekte miteinander kommunizieren können.<br />
Die CORBA-Spezifikation hat seit ihrer ersten <strong>Version</strong> 1991 kontinuierliche Verbesserungen<br />
und Erweiterungen im Rahmen eines offenen Standardisierungsprozesses bei<br />
der Object Management Group 464 erfahren. CORBA ist dadurch mittlerweile ein sehr<br />
ausgereifter und umfassender Standard mit breiter Unterstützung.<br />
Die verteilte Kommunikation im CORBA-Umfeld basiert auf dem Zugriff von Clients auf<br />
Server-Objekte. Dazu wird zunächst die Schnittstelle zur vom serverseitigen Objekt angebotenen<br />
Funktionalität mit einer formalen Beschreibungssprache (Interface Definition<br />
Language - IDL) definiert. Für eine konkrete Programmiersprache wird dann diese Definition<br />
in sogenannte Stubs (clientseitig) beziehungsweise Skeletons (serverseitig) überführt.<br />
Die Stubs erlauben dem Client auf die entfernte Funktionalität fast so zuzugreifen, als<br />
wäre diese lokal als Programmfunktion verfügbar. Die Skeletons werden vom Entwickler<br />
des Server-Objekts entsprechend mit Funktionalität ausgefüllt.<br />
Die konkrete Kommunikation zwischen beiden Seiten erfolgt über einen Object Request<br />
Broker (ORB), der neben der Übermittlung von Funktionsaufrufen und Rückgabewerten<br />
auch weitere Dienste, zum Beispiel zum Auffinden eines Server-Objekts mit einer<br />
bestimmten Funktionalität bereitstellt.<br />
Mit CORBA 2.1 wurden im Jahr 1997 wichtige Sicherheitsfunktionen wie zum Beispiel<br />
die SSL Verschlüsselung für IIOP in CORBA aufgenommen. Inzwischen existiert eine<br />
ständig weiterentwickelte Spezifikation eines Dienstes 465 (Secure Service Specification),<br />
der umfangreiche Möglichkeiten zur Umsetzung von Sicherheitsanforderungen, wie zum<br />
Beispiel Identifikation von Nutzern und Objekten, Zugriffskontrolle, Vertraulichkeit und<br />
Integrität, in CORBA-Umgebungen bereitstellt.<br />
Es existieren zahlreiche CORBA-konforme ORB-Implementierungen, darunter sowohl<br />
Open-Source-Produkte wie zum Beispiel<br />
� MICO 466 ,<br />
� ORBit 467 ,<br />
464 http://www.omg.org/technology/documents/formal/corba_iiop.htm<br />
465 Natürlich existieren auch Implementierungen dieses Dienstes, sogar bei einigen der OSS-<br />
Produkte (zum Beispiel bei MICO und TAO).<br />
466 http://www.mico.org/<br />
Seite 480
� omniORB 468 ,<br />
� JacORB 469 und<br />
� TAO 470 ,<br />
als auch proprietäre Lösungen wie<br />
� IONA Orbix 471 und<br />
� Borland Visibroker 472 .<br />
Client- und serverseitig wird die CORBA-Funktionalität über sogenannte Language Mappings<br />
473 zwischen der IDL und der jeweiligen Programmiersprache verfügbar gemacht.<br />
Eine Übersicht der von der OMG spezifizierten Mappings ist Internet verfügbar 474 .<br />
Zu den unterstützten Programmiersprachen zählen Ada, C, C++, COBOL, Java 475 , Lisp,<br />
PL/I, Python und Smalltalk. Für Modellierungsaufgaben existieren darüber hinaus auch<br />
noch Mappings für XML und MOF 476 .<br />
Zusammenfassend ist CORBA eine in der allgemeinen Wahrnehmung unterschätzte<br />
Technologie. Beispielsweise ist es mit CORBA möglich, eine serviceorientierte Architektur<br />
(SOA) aufzubauen. Der zugrunde liegende Standard ist ausgereift und es existieren<br />
zahlreiche OSS-Implementationen. Frühere Performance-Probleme sind inzwischen<br />
behoben. Dennoch spielt CORBA in der aktuellen Diskussion um WebServices und SOA<br />
kaum eine Rolle und wird häufig nur noch als eine theoretische Möglichkeit betrachtet,<br />
die in der Praxis immer weniger Bedeutung hat. Für Migrationszwecke muss daher sehr<br />
genau abgewogen werden, ob und wozu die ORB-Konzepte von CORBA verwendet<br />
werden. Wann immer möglich, sollten statt CORBA die Standard-Backend-<br />
Technologien, insbesondere unter J2EE, zur Umsetzung verwendet werden. Wo das<br />
nicht ausreicht, sind Schnittstellen zu CORBA vorhanden.<br />
2 Migrationspfade<br />
2.1 Migration einer Anwendung auf Basis .NET nach J2EE<br />
Die Migration einer Anwendung von einer Programmierplattform auf eine andere kann<br />
nicht voll automatisiert erfolgen. Es ist davon auszugehen, dass große Teile des Codes<br />
neu geschrieben werden müssen. Zwar verfügen Java und .Net Sprachen über ähnliche<br />
467 http://orbit-resource.sourceforge.net/<br />
468 http://omniorb.sourceforge.net/<br />
469 http://www.jacorb.org/features.html<br />
470 http://www.cs.wustl.edu/~schmidt/TAO.html<br />
471 http://www.iona.com/products/orbix/<br />
472 http://www.borland.com/de/products/visibroker/index.html<br />
473 Mappings sind Transformationsregeln, anhand derer IDL-Konstrukte in entsprechende<br />
Konstrukte der verwendeten Programmiersprache überführt werden.<br />
474 http://www.omg.org/technology/documents/idl2x_spec_catalog.htm.<br />
475 Im Falle von Java existiert sowohl ein Mapping, das IDL-Konstrukte nach Java überführt,<br />
als auch ein Mapping, mit dem aus Java-Konstrukten IDL-Konstrukte erzeugt werden können.<br />
476 MOF: Meta Object Facility, ein OMG-Standard zur plattformunabhängigen Definition, Manipulation<br />
und Integration von Daten und Metadaten.<br />
Seite 481
Konzepte und die Syntax von zum Beispiel C# ist im Vergleich zu Java nahezu identisch,<br />
aber im Kern verfolgen sie unterschiedliche Ziele. Die Hauptproblematik liegt in den<br />
unterschiedlichen Systembibliotheken. Der Umfang und Aufbau dieser Bibliotheken<br />
unterscheidet sich deutlich. Folgende Betrachtungen helfen bei der Analyse der Möglichkeiten<br />
und des Aufwands im Zuge einer Migration.<br />
2.1.1 Betrachtung der einzelnen Anwendungsschichten bei der Migration<br />
Bei einer Migration ist es sinnvoll, die Anwendung nicht als einen monolithischen Block<br />
zu betrachten, sondern in logische Schichten zu unterteilen. Bei der Entwicklung einer<br />
Software wird normalerweise eine Unterteilung in folgende Schichten vorgenommen:<br />
� Präsentationsschicht<br />
Diese Schicht sollte im Idealfall keine eigene Logik beinhalten und nur die Möglichkeit<br />
zur Interaktion des Systems mit dem Benutzer bieten.<br />
� Kommunikationsschicht<br />
Falls eine Anwendung auf mehrere Rechner verteilt ist, um zum Beispiel Daten<br />
von einem externen Rechnungssystem abzuholen, wird die Kommunikationslogik<br />
in dieser Schicht umgesetzt.<br />
� Geschäftslogik-Schicht<br />
Hier werden die Geschäftsprozesse einer Anwendung abgebildet, zum Beispiel<br />
ein Workflow zur Erfassung von Daten.<br />
� Datenzugriffsschicht<br />
In dieser Schicht erfolgt der Zugriff auf die Datenquellen.<br />
Je nach Schicht werden unterschiedliche Technologien eingesetzt. Diese müssen bei<br />
der Migration einzeln betrachtet werden. So muss zum Beispiel die Migration von ASP<br />
Seiten (.Net) auf JSP Seiten (J2EE) in der Präsentationsschicht komplett anders gehandhabt<br />
werden als die Migration von ADO.Net Komponenten auf JDBC in der Datenzugriffsschicht.<br />
Desweiteren muss bei der Analyse der zu migrierenden Anwendung auf eingesetzte<br />
Frameworks geachtet werden. In der .Net und Java Welt existieren zahlreiche Frameworks,<br />
die bei der Entwicklung komplexer Anwendungen unterstützen. Im Idealfall gibt<br />
es sowohl eine Java als auch eine .Net <strong>Version</strong> eines Frameworks. Damit wird die Migration<br />
deutlich erleichtert. Falls ein Framework nur auf einer Plattform verfügbar ist, wird<br />
die Migration deutlich aufwändiger, da gegebenenfalls vollständig unterschiedliche Konzepte<br />
und Philosophien zu berücksichtigen sind.<br />
2.1.1.1 Präsentationsschicht<br />
Je nach Art der Anwendung werden hier unterschiedliche Technologien bei der Implementierung<br />
eingesetzt:<br />
� Standalone Anwendungen – diese werden auf dem Rechner des Benutzers installiert<br />
und ausgeführt. In der .Net Welt werden diese Anwendungen mit Hilfe<br />
der Windows Forms Technologie implementiert. In der Java Welt sind es die<br />
SWING/AWT Oberflächen. Zusätzlich können diverse Frameworks eingesetzt<br />
Seite 482
werden, zum Beispiel SWT 477 (Open Source Komponente des Eclipse Projektes).<br />
Durch den unterschiedlichen Umfang und den Aufbau der Komponenten kann<br />
hier keine automatisierte Migration der Komponenten durchgeführt werden. Es<br />
gibt jedoch Ansätze, um den Entwicklern die Migration zu erleichtern. Als Beispiel<br />
sei an dieser Stelle das Eclipse Modelling Framework (EMF 478 ) erwähnt. Das<br />
Framework kann aus einem strukturierten Modell Java Code erzeugen. Im Fall<br />
einer Windows Forms Oberfläche kann anhand der XML-Beschreibung der Oberflächenelemente<br />
und eines Code Generators das Grundgerüst für die<br />
SWING/AWT Elemente generiert werden. Dieses Vorgehen beschleunigt die<br />
Migration deutlich, da die Entwickler anhand des Grundgerüsts die fehlenden<br />
Code Teile nur ergänzen und nicht komplett neu entwickeln müssen.<br />
� Web Anwendungen – diese laufen auf dem Server ab. Der Benutzer erhält den<br />
Zugriff auf die Oberfläche über einen Web Browser. In der .Net Welt sind diese<br />
normalerweise als ASP(.NET) Seiten implementiert. In der Java Welt gibt es<br />
hingegen unterschiedliche Standards wie zum Beispiel die JavaServer Pages<br />
(JSP) oder auch die in letzter Zeit immer wichtiger gewordenen JavaServer<br />
Faces (JSF). Falls die Web Seiten als einfache Formulare ausgeführt sind, ist die<br />
Migration relativ einfach. In diesem Fall kann das bereits erwähnte EMF<br />
Framework eingesetzt oder mit Hilfe von einfachen Parsern wie Xerces<br />
gearbeitet werden. Rich Clients wie zum Beispiel Java-Applets werden in diesem<br />
Kontext nicht als Webanwendungen verstanden, da sie unter Migrationsgesichtspunkten<br />
mit Standalone Anwendungen vergleichbar sind.<br />
2.1.1.2 Kommunikationsschicht<br />
Die Kommunikation zwischen Teilen einer Anwendung, die auf mehrere Rechner verteilt<br />
ist, läuft für gewöhnlich über Standardprotokolle und Technologien wie TCP/IP oder<br />
SOAP ab. In diesem Fall bereitet die Migration keine großen Probleme, da auf beiden<br />
Plattformen die gängigen Kommunikationsstandards zur Verfügung stehen. Bei der<br />
Kommunikation über Web Services kann im Rahmen der Migration anhand einer WSDL<br />
(Web Service Beschreibung) das Grundgerüst sowohl in .Net als auch in J2EE generiert<br />
werden. Probleme sind jedoch dann zu erwarten, wenn höhere Anforderungen, zum<br />
Beispiel im Bereich Sicherheit, gestellt werden und daher unterschiedliche Web Service<br />
Standards wie zum Beispiel OASIS WS-Security zum Einsatz kommen. Die Vielzahl<br />
unterschiedlicher Web Service Standards sowie Unterschiede bei der Unterstützung der<br />
Standards in den unterschiedlichen Tools und Frameworks bedingen diese Probleme.<br />
Eine Migration zwischen unterschiedlichen Sicherheitsstandards kann dadurch vom<br />
Aufwand mit einer Neuentwicklung vergleichbar sein.<br />
2.1.1.3 Geschäftslogik-Schicht<br />
Bei einfachen, auf einem einzigen Server laufenden Anwendungen besteht die Geschäftslogik<br />
zumeist aus normalen Klassen sowohl in C# als auch in Java. Hier sollte die<br />
Migration keine großen Probleme bereiten. Die Syntax zwischen diesen beiden Sprachen<br />
ist ähnlich und für die Konvertierung gibt es entsprechende Tools. Für den Weg<br />
477 SWT – Standard Widget Toolkit - http://www.eclipse.org/swt<br />
478 EMF – Eclipse Modelling Framework - http://www.eclipse.org/emf<br />
Seite 483
von .Net zur Java kann zum Beispiel das Open Source Projekt net2java 479 und für die<br />
Migration von Java zu .Net der JLCA 480 (Java Language Conversion Assistant) von<br />
Microsoft genutzt werden. Insbesondere JLCA ist inzwischen ein ausgereiftes Tool mit<br />
umfangreicher Unterstützung von Microsoft, mit dem in der Regel ein Großteil des<br />
Codes automatisiert konvertiert werden kann.<br />
Komplizierter wird es bei Enterprise Anwendungen wie sie zum Beispiel über COM+ in<br />
der .Net Welt und über EJBs in der J2EE Welt realisiert werden. Hier müssen die Entwickler<br />
die Logik genau betrachten und den entsprechenden Code in der Zielsprache<br />
neu schreiben. In der Regel ist jedoch die Migration von COM+ zu EJB problemloser als<br />
die umgekehrte Migration, da der Funktionsumfang von COM+ eine Teilmenge der EJB<br />
Funktionen bildet. Die Migration von EJB zu COM+ ist insbesondere dann deutlich<br />
komplexer, wenn Funktionen verwendet werden, die in COM+ Technologie nicht enthalten<br />
sind.<br />
2.1.1.4 Datenzugriffsschicht<br />
Bei der Migration der Datenzugriffsschicht werden zwei unterschiedliche Teile einer Anwendung<br />
migriert: der Programmcode und die SQL Statements. Die Migration des Programmcodes<br />
läuft ähnlich wie die Migration des Codes in der Logikschicht mit Hilfe von<br />
entsprechenden Tools ab. Hier gibt es zwar Unterschiede bei den Zugriffen zwischen<br />
ADO.NET und JDBC, diese sind jedoch nicht gravierend und bereiten in der Regel keine<br />
größeren Schwierigkeiten. Die SQL-Abfragen bleiben unberührt, solange auf die gleiche<br />
Datenbank zugegriffen wird. Falls auch die Datenbank migriert wird, müssen in jedem<br />
Fall die SQL-Statements entsprechend der Syntaxunterschiede angepasst werden. Darüber<br />
hinaus können weitere Aktivitäten notwendig sein (siehe Kapitel II.A).<br />
Beim Einsatz von Persistenzframeworks, wie Hibernate, ist der Aufwand bei der Migration<br />
entweder gering, falls es eine entsprechende <strong>Version</strong> dieses Frameworks auf der<br />
anderen Plattform gibt, oder sehr hoch, falls es keine entsprechende <strong>Version</strong> gibt und<br />
die Datenzugriffsschicht dadurch komplett neu entwickelt werden muss.<br />
2.1.2 Migration einer verteilten Anwendung auf SOA Basis<br />
Basiert die Anwendungslandschaft auf einer SOA Architektur, kann dies die Migration<br />
zwischen den einzelnen Plattformen deutlich erleichtern. Falls die Anwendungen, wie für<br />
eine SOA Archtitektur typisch, über Web Services implementiert sind, kann die Migration<br />
in vielen kleinen Schritten erfolgen. So kann zum Beispiel ein einzelner .Net Web<br />
Service durch einen J2EE Web Service ersetzt werden, ohne dass Änderungen in<br />
anderen Anwendungen notwendig sind und diese entsprechend unbeeinflusst bleiben.<br />
Die Anwendungsmodule können so nach und nach schrittweise ersetzt werden. Dadurch<br />
erhöht sich zwar die Gesamtzahl der Migrationsprojekte, die Komplexität der einzelnen<br />
Projekte wird jedoch deutlich reduziert. Außerdem wird das Migrationsrisiko minimiert,<br />
indem zunächst Erfahrungen mit dem Betrieb einzelner, möglichst unkritischer Services<br />
auf Basis der neuen Plattform gesammelt werden und diese Erfahrungen in die weiteren<br />
479 siehe https://net2java.dev.java.net/<br />
480 JLCA – Java Language Conversion Assistant -<br />
http://msdn.microsoft.com/vstudio/java/migrate/jlca/default.aspx<br />
Seite 484
Migrationsprojekte einfließen können. Auch wenn die Komplexität der Einzelprojekte<br />
sinkt, gelten trotzdem alle in diesem Leitfaden beschriebenen Aspekte und Risiken.<br />
Daher müssen auch diese Projekte als Migrationsprojekte Ernst genommen und entsprechend<br />
geplant werden. Zu beachten ist außerdem, dass über einen bestimmten<br />
Zeitraum sowohl Plattformen auf Java als auch auf .Net-Basis parallel betrieben werden<br />
müssen, wodurch sich gegebenenfalls die Betriebsaufwände erhöhen.<br />
2.1.2.1 Bridge Technologien<br />
Unter Umständen ist es notwendig, dass Java und .Net Technologien zusammen<br />
arbeiten müssen. Dies wäre zum Beispiel bei einer großen Anwendung der Fall, die nicht<br />
in einem Zug durch die neue Technologie ersetzt werden kann. Hier müssen zum<br />
Beispiel .Net Module Java Module entweder auf demselben System oder über das<br />
Netzwerk aufrufen. Eine Möglichkeit besteht zum Beispiel darin, eine Art Proxy mit Web<br />
Services zu realisieren. Ein .Net Programm Modul kann dann über diesen Proxy Daten<br />
mit Java Modulen austauschen. Diesem Vorgehen stehen jedoch die relativ umständliche<br />
Programmierung der Proxies sowie die Performanceeinbußen durch das<br />
Arbeiten mit XML und das Übertragen der Daten zwischen den Web Services entgegen.<br />
Um diese Nachteile zu umgehen, wird die sogenannte Bridge Technologie eingesetzt.<br />
Mittels dieser ist es möglich, auf .Net Klassen von Java Klassen aus so zuzugreifen, als<br />
ob diese Java Klassen wären und umgekehrt. Auch hierbei kommen Proxies zum Einsatz,<br />
die jedoch automatisiert durch entsprechende Tools generiert werden. Damit entfällt<br />
die aufwändige Programmierung der Proxies. Außerdem werden Performanceverluste<br />
verringert, da neben Web Services auch weitere performanceoptimierte<br />
Kommunikationskanäle wie zum Beispiel TCP/Binary von den Produkten angeboten<br />
werden. Ein Produkt, das erfolgreich in der Praxis eingesetzt wird, ist JNBridge 481 von<br />
JNBridge LLC.<br />
2.1.2.2 .Net Anwendungen auf nicht Windows basierten Betriebssystemen<br />
Als Alternative zu einer vollständigen Migration von .Net zu J2EE gibt es Möglichkeiten,<br />
.Net Anwendungen auch auf nicht Windows Betriebssystemen laufen zu lassen und damit<br />
eine Migration der Betriebssysteme relativ unabhängig von der Migration der Anwendungen<br />
zu ermöglichen. Dadurch kann zum Beispiel eine Migration nach Linux erfolgen,<br />
ohne dass eine bestehende .Net Anwendung gleichzeitig migriert werden muss.<br />
Das Mono Open Source Projekt unter der Führung von Novell bietet eine Anzahl von<br />
Modulen wie C# Compiler und die Common Language Runtime, die es ermöglichen,<br />
.Net Anwendungen auf Linux, BSD, Unix, Mac OS X oder Solaris Betriebssystemen zu<br />
betreiben. Mono bildet die Funktionalität des aktuellen .NET-Frameworks jedoch z.Zt.<br />
nicht vollständig ab. Aufgrund der Dynamik in der Weiterentwicklung von .NET ist mit<br />
diesem Sachverhalt in der Zukunft weiterhin zu rechnen. Insofern muss im Einzelfall genau<br />
geprüft werden, ob Mono als vorübergehende Migrationsalternative auf Anwendungsebene<br />
geeignet ist.<br />
Eine weitere Möglichkeit bietet der Cross Compiler von Mainsoft. Dieser ermöglicht es,<br />
.Net Code direkt in Java Bytecode zu kompilieren und auf einem J2EE Application<br />
481 JNBridge – Ein Produkt der JNBridge LLC - http://www.jnbridge.com/<br />
Seite 485
Server laufen zu lassen. Zusätzlich existiert ein Modul für Visual Studio, das die<br />
Entwicklung von .Net Anwendungen für Windows fremde Betriebssysteme deutlich<br />
erleichtert. Dieses Produkt ist insofern interessant, als es den Entwicklern weiterhin<br />
erlaubt, mit Visual Studio in .Net zu entwickeln, aber die Ergebnisse direkt als J2EE<br />
Anwendung auf einem J2EE Applikationsserver zu deployen und zu betreiben.<br />
2.1.3 Fazit<br />
Zusammenfassend lässt sich sagen, dass eine Migration zwischen J2EE und .Net in<br />
jedem Fall aufwändig ist. Es lässt sich jedoch keine grundsätzliche Aussage darüber<br />
treffen, ob eine Migration oder eine vollständige Neuentwicklung sinnvoller ist. Je nach<br />
Komplexität der Anwendung und der verwendeten Technologien muss diese Entscheidung<br />
situationsbezogen auf Basis einer entsprechenden Analyse getroffen werden. Keinesfalls<br />
ist jedoch eine automatisierte Migration möglich. Zwar gibt es Vorgehen und<br />
Tools, die die Migration erleichtern, dennoch ist in jedem Fall mit großem manuellem<br />
Aufwand zu rechnen.<br />
In diesem Kapitel wurden auch alternative Wege zu einer vollständigen Migration aufgezeigt.<br />
Hierzu gehören die schrittweise Migration mit Hilfe von Bridge Technologien und<br />
Web Services und das Betreiben von .Net Anwendungen auf nicht Windows basierten<br />
Betriebssystemen. Diese zwei Ansätze ermöglichen es, die Anwendungen nach und<br />
nach zu migrieren und so den Umstellungsaufwand auf einen größeren Zeitraum zu verteilen<br />
und gleichzeitig die Komplexität der einzelnen Migrationsprojekte zu reduzieren.<br />
Seite 486
E Thema Terminal-Dienste und Client-Konzepte<br />
Die Entscheidung für den Einsatz von Terminalservern und Thin Clients kann sowohl<br />
während eines Migrationsprojekts als auch im Vorfeld erfolgen und soll daher auch in<br />
diesem Rahmen betrachtet werden. Es ist jedoch kein klassisches Migrationsthema, da<br />
in der Regel keine Terminalserverumgebungen migriert werden. Bei der Umsetzung und<br />
Unterstützung von Migrationen können Terminalserver hingegen sehr hilfreich sein. Dies<br />
ist zum Beispiel dann der Fall, wenn es im Rahmen einer stufenweisen Migration darum<br />
geht, Fachanwendung sukzessive für eine neue Betriebssystemumgebung bereitzustellen,<br />
wobei die sonstige Server-Landschaft schon umgestellt wurde.<br />
Der Einsatz der im Folgenden betrachteten Technologie ist primär eine Entscheidung,<br />
die im Rahmen der Gesamt-IT-Strategie einer Behörde zu treffen ist. Die vorgestellten<br />
Lösungen sollen einen Einblick in die gesamte Thematik geben und das Potential der<br />
Technologie verdeutlichen.<br />
Vorgestellt werden Technologien, die in den unterschiedlichsten Bereichen eingesetzt<br />
werden können:<br />
� Linux basierte Server- und Clientsysteme mit dem Linux-Terminal-Server-Project<br />
� NX-Server der Firma NoMachine mit Linux basierten Serversystemen und Clientsystemen<br />
für Windows und Linux<br />
� Windows Terminalserver der Firma Microsoft mit (vorrangig) Windows basierten<br />
Clientsystemen<br />
� Presentation Server der Firma Citrix mit Windows basierten Serversystemen und<br />
diversen Clientsystemen (Linux, Unix, DOS, Windows usw.)<br />
Die vorgestellten Systeme bieten eine große Bandbreite an technischen Lösungen und<br />
sind im Einzelfall gemäß den vorliegenden Anforderungen genauer zu betrachten. Neben<br />
den technischen Unterschieden und Möglichkeiten variieren die Systeme auch stark<br />
im Hinblick auf die Lizenzierungsmodelle und -kosten.<br />
Die Administration und Betreuung von Arbeitsplatzrechnern ist eine Aufgabe mit hohem<br />
Personalaufwand, insbesondere dann, wenn die Ausstattung der Rechner mit unterschiedlicher<br />
Hard- und Software erfolgte. Auch die wachsende Komplexität der eingesetzten<br />
Hard- und Software kann die Arbeitsplatzrechner störanfälliger machen und damit<br />
die administrativen Aufwände erhöhen. Die mit der Systembetreuung verbunden Arbeiten<br />
werden im Folgenden exemplarisch aufgeführt:<br />
� Installation, gegebenenfalls Konfiguration vor Ort<br />
� Anpassungen an individuelle Bedürfnisse<br />
� Verwaltung von Softwareaktualisierungen und -neuinstallationen (Test, Verteilung,<br />
Installation)<br />
� Fehlerdiagnose und -behebung, Support<br />
� Ersatzbeschaffung.<br />
Seite 487
Zwar können die Aufgaben mit Unterstützung geeigneter Verwaltungswerkzeuge beziehungsweise<br />
System-Managementanwendungen größtenteils automatisiert und die Aufwände<br />
verringert werden, insgesamt bleibt der Arbeitsaufwand jedoch sehr hoch. Hinzu<br />
kommt, dass nicht jede Organisation in der Lage ist, sich mit der zum Teil sehr kostspieligen<br />
Systemmanagementsoftware auszustatten und das hierfür benötigte Personal zu<br />
beschaffen oder entsprechend zu schulen. Dies gilt insbesondere für kleinere Organisationen.<br />
Durch den Einsatz von Terminalservern können die skizzierten Probleme reduziert<br />
werden.<br />
In einer dezentralen IT-Architektur findet die Installation und Ausführung von Programmen<br />
in der Regel auf den Arbeitsplatzrechnern statt. Server dienen primär zur zentralen<br />
Datenverwaltung, zu Datenbackups und zur Steuerung der Zugriffsrechte. Bei der Verwendung<br />
einer Terminalserverlösung liefern ein oder mehrere leistungsfähige Zentralrechner,<br />
die eigentlichen Terminalserver, einen standortunabhängigen Zugriff auf die<br />
notwendigen Daten und Anwendungen. Die Terminalserver bieten den Benutzern dabei<br />
einen direkten Zugang mittels einer grafischen Benutzerschnittstelle des Betriebssystems<br />
über das Netzwerk. Terminaldienste ermöglichen den Anwendern die Nutzung von<br />
Software, die nicht auf ihrem lokalen Rechner installiert sind. Die Anwendungen werden<br />
von einem Terminalserver bereitgestellt und über einen Client/Terminal in Anspruch genommen.<br />
Ein Terminalserver emuliert dabei in der Regel mehrere Clients (Sessions).<br />
Das heißt, er stellt den meist entfernten Clients Anwendungen zur Verfügung, für die der<br />
Benutzer eine Berechtigung hat. Diese Anwendungen können von dem Benutzer wie an<br />
einem normalen PC per Maus und Tastatur bedient werden können.<br />
Im Gegensatz zu dezentralen IT-Architekturen erfolgt auf den zentralen Servern neben<br />
der Bereitstellung der Daten auch die der Anwendungen. Der Zugriff auf die Anwendungen<br />
und Daten der Terminalserver muss mittels spezieller Terminal-Clientanwendungen<br />
erfolgen.<br />
Die folgende Tabelle gibt einen kurzen Überblick über die Vorteile, die durch den Einsatz<br />
von Terminalservern entstehen.<br />
Vorteile Erläuterung<br />
Zentrale Verwaltung Betriebssystem und Anwendungen werden nur in einfacher Form<br />
zentral auf den Terminalservern angeboten.<br />
Die Pflege der Software kann zentral erfolgen (Updates).<br />
Es sind selten Arbeiten an den Client-Systemen notwendig.<br />
Die Betreuung der Anwendungen findet zentral statt, Fehlerdiagnose<br />
und -behebung werden vereinfacht.<br />
Erhöhung der Produktivität für Anwender und Administration.<br />
Die Bereitstellung zusätzlicher Anwendungen (die bereits auf dem<br />
Terminalserver eingerichtet sind) für den Benutzer wird beschleunigt.<br />
Durch den Wegfall personalintensiver Fehlerbehebungen vor Ort<br />
werden die administrativen Aufwände drastisch reduziert.<br />
Zudem ist sichergestellt, dass alle Anwender mit konsistenten Applikationen<br />
arbeiten.<br />
Verringerte Hardware- Clientsysteme benötigen weniger Hardwareressourcen (gegebenen-<br />
Seite 488
Vorteile Erläuterung<br />
anforderungen falls kann sogar auf eine eigene Festplatte im Client verzichtet werden),<br />
da bei Bedarf fast alle Operationen auf dem Server stattfinden<br />
können.<br />
Ein regelmäßiger Ausbau / Austausch der Clienthardware aufgrund<br />
erhöhter Anforderungen der Betriebssysteme und Anwendungen ist<br />
nicht mehr notwendig.<br />
Die vorhandene Hardware kann länger genutzt werden, da die Anforderungen<br />
an die Leistungsfähigkeit nicht von Softwarewechsel<br />
bestimmt werden.<br />
Erhöhte Sicherheit Durch den Einsatz von Clientrechnern (zum Beispiel ohne Festplatten)<br />
können Daten beispielsweise nur noch auf den zentralen<br />
Servern gespeichert werden. Somit ist die Gefahr des Datenverlusts,<br />
des unbefugten Zugriffs, der Manipulation oder des Diebstahls verringert.<br />
Unabhängigkeit vom<br />
Clientrechner<br />
Flexible Unterstützung<br />
bei Migrationen<br />
Geringerer Energieverbrauch<br />
Clientrechner können schnell ausgetauscht werden, da keine persönlichen<br />
Daten oder Einstellungen auf den Clients gespeichert<br />
werden. Vor allem aber können Benutzer einfach den Arbeitsplatz<br />
wechseln, ohne auf „ihre― vertraute Umgebung verzichten zu müssen.<br />
Der Einsatz von Terminalservern kann Migrationsprojekte entscheidend<br />
unterstützen, da diese beispielsweise eine schrittweise Migration<br />
ermöglichen.<br />
So können bei einem Wechsel der Clientbetriebssysteme auf ein<br />
Linux basiertes System die vertrauten Windowsanwendungen über<br />
einen Terminalserver solange bereitgestellt werden, bis die Benutzer<br />
in die neue Linux-Anwendung eingewiesen wurden.<br />
Über Terminalserver können auch kostspielige Portierungen oder<br />
sogar Neuentwicklungen notwendiger Anwendungen vermieden<br />
werden. Einmal für den Einsatz auf einem entsprechenden Terminalserver<br />
vorbereitet, sind diese auch unter dem neuen Betriebssystem<br />
anwendbar.<br />
Durch den Einsatz eines oder weniger leistungsfähiger Server und<br />
vieler Clientrechner mit einfacher Hardwareausstattung und niedrigem<br />
Energieverbrauch sinkt der gesamte Energieverbrauch. Nach<br />
Angaben von IBM verbraucht ein Großrechner bei gleicher Leistung<br />
nur max. 10% der Energie einer dezentralen IT-Architektur. 482<br />
Tabelle 75: Vorteile von Terminal-Servern und Thin Clients<br />
Neben den genannten Vorteilen gibt es auch einige Nachteile, die bei der Überlegung für<br />
oder gegen den Einsatz von Terminalservern abgewogen werden müssen.<br />
482 http://www.computerwoche.de/index.cfm?pid=858&pk=556868;<br />
http://www.heise.de/newsticker/meldung/97276<br />
Seite 489
Nachteile Erläuterung<br />
Abhängigkeit Benutzersitzungen werden bei Ausfall der Terminalserver abgebrochen<br />
und die Arbeitsaufnahme ist erst dann wieder möglich, wenn<br />
der Fehler auf dem Terminalserver behoben ist. Zudem kann es<br />
beim Abbruch der Benutzersitzung zu Datenverlusten kommen. Dieses<br />
Risiko kann durch den Einsatz einer Serverfarm (Cluster) minimiert<br />
werden.<br />
Erhöhter Ressourcenbedarf<br />
beim Terminalserver<br />
Spezielle Maßnahmen für<br />
mobile Endgeräte<br />
Die Terminalserver müssen über eine deutlich erhöhte Ressourcenausstattung<br />
verfügen, insbesondere beim Arbeitsspeicher. In Relation<br />
zum Gesamtbedarf (Server und Clients) werden jedoch weniger<br />
Ressourcen benötigt, da bestimmte Operationen auf einem Server<br />
nur einmal für alle Benutzer ausgeführt werden müssen und nicht<br />
auf jedem Client einzeln.<br />
Die Einbindung von zum Beispiel Notebooks, die keinen permanenten<br />
Netzzugang haben, erfordert zusätzliche Maßnahmen, zum Beispiel<br />
den Offline Modus des Application Streamings von Citrix. 483<br />
Erhöhter Netzwerkverkehr Die Kommunikation zwischen den Server- und Clientsystemen erfolgt<br />
auf der Netzwerkebene. Übertragen werden die Inhalts-<br />
Differenzen beim Bildaufbau oder Anweisungen für den Bildaufbau.<br />
Bestimmte Anwendungen (zum Beispiel Grafikprogramme) können<br />
die Netzlast stark erhöhen. Andererseits kann sich bei einigen Applikationen<br />
(zum Beispiel Textverarbeitung) der Netzverkehr auch reduzieren,<br />
da nicht regelmäßig ganze Dateien beim Speichern auf<br />
den zentralen Datenserver übertragen werden, sondern nur die Änderungen<br />
(Tastatureingaben und Bildschirmveränderungen).<br />
Anpassungen bzgl. verwendeter<br />
Anwendungen<br />
Nicht alle Anwendungen können problemlos auf einem Terminalserver<br />
betrieben werden, insbesondere im Windowsbereich kann es<br />
Applikationen geben, die Systemdateien zum Schreiben öffnen und<br />
für andere Benutzer sperren. Solche Probleme können in der Regel<br />
durch administrative Eingriffe, zum Beispiel eine geänderte Rechtevergabe,<br />
gelöst werden.<br />
Tabelle 76: Ausgewählte Nachteile von Terminal-Servern und Thin Clients<br />
Für die Anbindung an die Terminal-Server können verschiedene Clienttypen eingesetzt<br />
werden.<br />
� Fat Clients<br />
Es handelt sich dabei um einen vollwertigen Arbeitplatzrechner. Der Zugriff auf<br />
die Terminal-Server erfolgt über eine spezielle Terminalserver-Client-Software.<br />
� Thin Clients<br />
Hierbei handelt es sich um Rechnersysteme mit minimalen Hardware-<br />
Ausstattungen. Das Betriebsystem bezieht die Clients entweder aus einem<br />
Flash-EPROM oder sie können mittels Netzwerk (pxe, tftp, nfs) gebootet werden<br />
483 http://www.citrix.de/produkte/schnellsuche/presentation-server/Application-Streaming/<br />
Seite 490
1 Produkte / Technologien<br />
1.1 Linux Terminal Server Project<br />
Das Linux Terminal Server Project (LTSP) 484 ist eine Software für Linux, die den Einsatz<br />
von Linux als Terminalserver ermöglicht.<br />
Die Software ist vielfach in Schulen und Bildungseinrichtungen sowie in Entwicklungs-<br />
und Schwellenländern verbreitet, da sie insbesondere die weitere Verwendung älterer,<br />
leistungsschwacher Arbeitsplatzrechner ermöglicht. 2006 ist LTSP in der <strong>Version</strong> 4.2<br />
erschienen. LTSP ist eine freie Software, die unter der GNU General Public License verfügbar<br />
ist.<br />
Technisch gesehen vereinfacht LTSP die Ausnutzung der Fähigkeiten des grafischen X-<br />
Servers, ein beliebiges Linux-Programm in zwei Teile, Programmausführung und Anzeige,<br />
zu trennen. Die Programmausführung erfolgt auf einem Server, während die Anzeige<br />
zusammen mit der Eingabe über Tastatur oder Maus auf beliebig vielen Terminals erfolgen<br />
kann. Die Anzahl der Thin Clients wird hierbei von der Übertragungsrate des Netzwerkes<br />
und der Leistungsfähigkeit des Servers bestimmt.<br />
Die Hardwareanforderungen an den Server sind als sehr gering zu bezeichnen. Es ist<br />
durchaus nicht ungewöhnlich, 50 Workstations mit Mozilla und OpenOffice über einen<br />
DUAL P4 -2,4 (XEON) mit 4 GB RAM zu betreiben.<br />
Im Gegensatz zu den geringen Hardwareanforderungen werden hohe Anforderungen an<br />
das Netzwerk (Bandbreite und Latenz) gestellt. Allein die Verwendung des X-Protokolls<br />
hat zum Beispiel zur Folge, dass ein 100-MBit/s-Netzwerk nur für die Bereitstellung von<br />
ca. 30 Sessions mit zum Beispiel Office-Anwendungen ausreicht.<br />
Die Software besteht aus einer Serveranwendung, von der Clients via Netboot remote<br />
booten und ihr Betriebssystem erhalten können. Die Anwendungen laufen in dieser Konfiguration<br />
komplett auf dem Terminalserver und können im Prinzip auf eine eigene Festplatte<br />
verzichten.<br />
Der ohnehin schon niedrige Speicherverbrauch der Clients wurde in der aktuellen <strong>Version</strong><br />
nochmals verringert, sodass die Anforderungen an den Client-Rechner als sehr<br />
gering zu bezeichnen sind. Die Minimalanforderungen sind ein Rechner mit 32 MB RAM<br />
und einem PCI-Bus. Zudem wurde die Hotplug-Fähigkeit der Clients verbessert. Es können<br />
auch lokale Scanner oder USB-Sticks verwendet werden. Die Unterstützung von<br />
Multihead-X ermöglicht zudem den Einsatz mehrerer Monitore.<br />
Als Serversystem dient eine beliebige Linux-Distribution. Hierdurch werden u.a. auch<br />
Verfahren zur Authentisierung an einem Active Directory, das auf einem Windows Server<br />
läuft, unterstützt, und der Zugriff auf Ressourcen eines Windows Netzes wird dadurch<br />
ermöglicht.<br />
484 http://www.ltsp.org/ (Stand 01.11.2007)<br />
Seite 491
LTSP-Client unterstützt sowohl den Zugriff auf LTSP als auch auf Windows-<br />
Terminalserveranwendungen. Neben der Variante, bei der der Server dem Client das<br />
Betriebssystem zur Verfügung stellt, werden clientseitig auch eine Vielzahl von Hardwarearchitekturen<br />
und Betriebssystemen, insbesondere Apple OS X und Windows XP, unterstützt.<br />
Zusammenfassend kann festgehalten werden: Aufgrund der niedrigen Hardwareanforderungen<br />
wird das Projekt LTSP insbesondere als preiswerte Alternative zu herkömmlichen<br />
Workstations in Schulen und Weiterbildungseinrichtungen positioniert, in denen<br />
die Verbindung zwischen Terminalserver und Client über eine LAN-Verbindung hergestellt<br />
wird und die Anzahl paralleler Zugriffe begrenzt bleibt. Leider zeigen die Erfahrungen,<br />
dass LSTP nicht besonders gut skaliert. Dies ist ein weiterer Grund dafür, dass<br />
LSTP in erster Linie für kleinere Organisationen oder Arbeitsgruppen eingesetzt wird.<br />
Der Einsatz ist darüber hinaus nur im Rahmen geringer Sicherheitsanforderungen zu<br />
empfehlen, insbesondere da Netzunterbrechungen zu einem Datenverlust führen können.<br />
1.2 NoMachine NX Server<br />
Mitte 2007 hat Medialogic den Terminalserver NoMachine NX 485 und den NX-Client in<br />
der <strong>Version</strong> <strong>3.0</strong> veröffentlicht. Aktuell wird die Bezeichnung Desktop-Virtualisierungs-<br />
und Fernwartungs-System verwendet.<br />
Die freie <strong>Version</strong>, die für Linux und Solaris verfügbar ist, ist gegenüber der kostenpflichtigen<br />
<strong>Version</strong> (ebenfalls für Linux und Solaris) funktional eingeschränkt. Eine Übersicht<br />
der funktionalen Unterschiede kann man auf den Webseiten von NoMachine im Internet<br />
finden 486 . Die Lizenzierung 487 des NX-Servers erfolgt nicht pro Verbindung, sondern über<br />
die Anzahl gleichzeitiger Benutzer und pro Server. In der Enterprise Lizenz ist die Benutzeranzahl<br />
unbeschränkt.<br />
Die NX Distributed Computing Architecture basiert auf einer Weiterentwicklung von X-<br />
Window. X-Window kann als Grundsystem für grafische Benutzeroberflächen in Linux<br />
basierten Betriebssystemen bezeichnet werden. Dabei lässt sich die Bildschirmanzeige<br />
nicht nur auf dem lokalen Rechner, sondern auch netzwerktransparent auf einem entfernten<br />
Rechner umsetzen. Zusätzlich werden auch die Tastatur- und Mausbefehle weitergeleitet.<br />
Es kann zwischen einem X-Server, der die grafischen Daten aufbereitet und<br />
verschickt, und einen X-Client, der die Daten empfängt und grafisch darstellt, unterschieden<br />
werden. Antworten (meist Tastatur- und Mauseingaben) des Clients werden<br />
wiederum vom X-Server empfangen. Beide kommunizieren über das X-Protokoll. Zusammengehörige<br />
Paare von X-Client-Anfragen und X-Server-Antworten bilden einen<br />
round-trip, wobei nicht jede Anfrage eine Antwort erfordert. Round-trips beanspruchen<br />
viel Bandbreite und verhindern so den Einsatz des X-Protokolls in langsamen Netzen.<br />
Über das NX-Protokoll lässt sich eine Komprimierung der übertragenen Daten von<br />
durchschnittlich ca. 70:1 erreichen. 488<br />
485 http://www.nomachine.com/<br />
486 http://www.nomachine.com/features.php (Stand 01.11.2007)<br />
487 http://www.nomachine.com/licensing (Stand 01.11.2007)<br />
488 http://www.pl-berichte.de/berichte/lt2004-nxartikel.html<br />
Seite 492
Die NX-Komprimierungstechnologie erlaubt damit den Einsatz von X-Window auch in<br />
Netzen mit geringer Bandbreite und hoher Latenz. Durch intelligente Komprimierung und<br />
Cachen schon übertragener Daten sollte es jedem Anwender möglich sein, die Originalversionen<br />
der gängigsten X-Desktop-Umgebungen über jede beliebige Netzwerkverbindung<br />
auf einem Standard-X-Server auszuführen. Neben speziellen X-Protokoll-<br />
Komprimierungsverfahren hat NoMachine integrierte Proxy-Agenten entwickelt, mit denen<br />
komplette Remote-Desktop-Sitzungen über schmalbandige Internetverbindungen<br />
realisiert werden können.<br />
NX verfügt ebenfalls über eine Lastverteilung, indem Server die Netzlast gleichmäßig<br />
verteilen und Sitzungen mehreren unterschiedlichen Servern zuweisen. Weiterhin erlaubt<br />
es NX, einzelne Applikationen über schmalbandige Verbindungen zu übertragen<br />
und so beispielsweise auf einem Linux-Server laufende Applikationen unter Windows<br />
oder auf einem ThinClient zu nutzen.<br />
Mit der <strong>Version</strong> 3 verfügt Medialogic NoMachine (NX) über zum Beispiel folgende Funktionalitäten:<br />
� Session shadowing: Mehrere Benutzer können sich nun gleichzeitig eine einzige<br />
Session zum Beispiel für Präsentationen oder Support teilen.<br />
� Desktop sharing: Der Zugriff auf das lokale X Display erfolgt über NX.<br />
� Verbesserte Verfügbarkeit: Die Flexibilität im Bereich der „Multi Node Setups―<br />
wurde erhöht.<br />
� Eventgesteuerte Skripte auf dem Server: Der Administrator kann eigene Skripte<br />
aufrufen lassen, zum Beispiel beim Starten einer neuen Session oder beim Anlegen<br />
eines neuen Benutzers.<br />
Das Management der NX-Server wurde dadurch vereinfacht, dass aufgrund einer verbesserten<br />
Integration mit den Host-Systemen (bereits seit <strong>Version</strong> 1.5 aus dem Jahr<br />
2005) das Anlegen eigener NX-Accounts überflüssig ist.<br />
Für die Authentisierung bietet NX eine LDAP-Unterstützung. NX verwendet die Remotefunktionen<br />
von SSH für den Zugriff auf die Funktionen eines Servers, wobei die gesamte<br />
Kommunikation verschlüsselt stattfindet. Zur erweiterten Sicherung der internen IT Infrastruktur<br />
sind Zusatzprodukte zur Integration von Security-Token (zum Beispiel Aladdin<br />
eToken PRO, Rainbow iKey 3000) entwickelt worden. Hierdurch kann eine sichere Möglichkeit<br />
zur Authentisierung geboten werden.<br />
NX-Server und Clientprodukte arbeiten primär unter Linux verschiedener Distributionen.<br />
Während der Server künftig nur noch unter Solaris angeboten wird, ist der NX-Client<br />
prinzipiell für jede Hardwareplattform unter Linux sowie für alle gängigen Betriebssysteme<br />
wie Windows, Mac OS X oder Solaris verfügbar. Die Funktionalitäten von NX für das<br />
Network Computing können daher außer in Linux-Umgebungen auch mit anderen Betriebssystemen<br />
genutzt werden. Dabei übersetzt NX die Protokolle dieser Umgebungen<br />
in das X-Protokoll, zum Beispiel das RDP, das von Microsoft und Citrix verwendet wird.<br />
Somit ist auch der Zugriff auf Windows Anwendungen möglich.<br />
Zusammenfassend kann festgestellt werden: NX-Server können OpenOffice-, KDE- und<br />
andere X-Anwendungen einer großen Zahl von Anwendern parallel zur Verfügung stel-<br />
Seite 493
len. Im Einzelfenster-Modus (etwa von KMail, bedient von Windows aus) wird dies einer<br />
„stufenweisen" Migration dienlich sein. 489 NX wertet generell andere Terminalserver-<br />
Installationen durch die Kompatibilität zu diesen auf (genauer die Umwandlung der Protokolle<br />
in NX), auch indem Bandbreite eingespart und die Performanz erhöht wird. Mit<br />
NX wächst somit eine Basistechnologie heran, die zu etablierten Lösungen eine Alternative<br />
ist. NX braucht hinsichtlich Performanz und Features keinen Vergleich mit anderen<br />
Produkten zu scheuen.<br />
1.3 Microsoft Windows Terminal Server<br />
Microsoft bietet Terminaldienste schon seit 1995 mit NT 3.51 an. Seitdem wurden die<br />
Funktionen mit jeder neuen Windows Server <strong>Version</strong> ständig weiterentwickelt. Der Terminalserver<br />
ist dabei integraler Bestandteil des jeweiligen Serverbetriebssystems, muss<br />
jedoch gesondert lizenziert werden. Für Windows Server 2003 bedeutet dies, dass sowohl<br />
Server 2003 entsprechende Lizenzen erworben werden müssen als auch für die<br />
Terminalserver. Für die Nutzung der Terminaldienste unter Windows Server 2003 sind<br />
für mehr als zwei parallel laufende Sessions Lizenzkosten für die Zugriffe zu entrichten.<br />
Unter Windows Server 2003 ist unabhängig vom benutzten Desktop-System eine CAL<br />
(Client Access License) zu erwerben, wobei zwischen Lizenzen pro Gerät und Lizenzen<br />
pro Benutzer unterschieden werden. Jede Geräte-CAL gestattet einem Gerät (von einem<br />
beliebigen Benutzer verwendet) Windows-Sitzungen auf einem Server durchzuführen.<br />
Jede Benutzer-CAL gestattet einem Benutzer (der ein beliebiges Gerät verwendet) Windows-Sitzungen<br />
auf einem Server durchzuführen.<br />
Nachdem der Markt über lange Zeit hinweg weitgehend Citrix überlassen wurde, gewinnt<br />
Microsoft im Markt für Terminalserver gegenüber Citrix zunehmend an Bedeutung. In<br />
großen Umgebungen bleibt Citrix jedoch Marktführer und wird durch eine strategische<br />
Partnerschaft mit Microsoft unterstützt.<br />
Remote Desktop Protocol (RDP) ist das Protokoll, das die Microsoft Terminaldienste<br />
verwenden, um eine sichere Kommunikation zwischen dem Terminal und dem Terminalserver<br />
zu gewährleisten. 2006 wurde RDP 6.0 für Windows Vista veröffentlicht. RDP<br />
bietet vielfältige Möglichkeiten. So können die beanspruchte Bandbreite reduziert, Ressourcen<br />
mit anderen geteilt und mehrerer Bildschirme am Terminal eingesetzt werden.<br />
Der Terminalserver von Microsoft ermöglicht Remotecomputern den Zugriff auf Windows<br />
basierte Programme, die unter Windows Server 2003 ausgeführt werden. Dabei bietet<br />
der Server die grundlegenden Funktionen, um Programme auszuführen, Dateien zu<br />
speichern oder Netzwerkressourcen zu nutzen. Mit Windows Server 2003 ist es möglich,<br />
einfache Audiodaten zur Ausgabe am Client bereitzustellen, Gruppenrichtlinien in die<br />
Sessions zu integrieren und Bildschirme mit beliebiger Auflösung und Farbtiefe anzusteuern.<br />
Auch die Übertragung von Druck- und Audiosignalen zu lokalen Geräten, die<br />
direkt am Terminal angeschlossen sind, ist möglich. Des Weiteren besteht die Möglichkeit,<br />
Verbindungen temporär zu unterbrechen, ohne dass sich der Nutzer am Terminalserver<br />
abmelden muss.<br />
489 http://www.pl-berichte.de/berichte/lt2004-nxartikel.html<br />
Seite 494
Die Konfiguration von Anwendungen für den Terminalserverbetrieb über Gruppenrichtlinien<br />
vereinfacht die Verwaltung der Windows Terminalserver. Administratoren müssen<br />
Einstellungen daher nicht mehr pro Server vornehmen, sondern können dies übergreifend<br />
an zentraler Stelle erledigen. Ein Active Directory Dienste Interface (ADSI)-Provider<br />
erlaubt programmgesteuerten Zugriff auf benutzerabhängige Terminaldienste-<br />
Einstellungen wie zum Beispiel Homedirectory, Berechtigungen und ähnliches. Neben<br />
der Bereitstellung von Anwendungen bietet RDP Möglichkeiten, den Terminal entfernt zu<br />
verwalten und Probleme des Anwenders schnell zu beheben.<br />
Das RDP bietet Verschlüsselungsmöglichkeiten (128 Bit-Schlüssel) und die Möglichkeit<br />
zur Smartcard-Authentisierung. RDB besitzt allerdings, aufgrund der Tatsache, dass<br />
Client und Server sich nicht gegenseitig authentisieren müssen, eine Schwäche, welche<br />
die Möglichkeit eines Man-in-the Middle Angriffs ermöglichen kann. Mit der <strong>Version</strong> RDP<br />
v5.2 weist sich der Server dem Client gegenüber zwar mit einem Zertifikat aus, sodass<br />
die Angriffe hätten unterbunden werden müssen. Doch dies gelang letztlich nur eingeschränkt,<br />
da die verwendeten Schlüssel ausgelesen werden konnten. Microsoft empfiehlt<br />
daher die RDP-Kommunikation zusätzlich über TLS abzusichern, da hiermit eine Authentisierung<br />
gewährleistet ist. 490<br />
Microsoft bietet sowohl die Server- (Windows Server 2000 und 2003) als auch die<br />
Clientsoftware ausschließlich für Windows Betriebssysteme an. Es existieren Clients für<br />
die meisten Windows-<strong>Version</strong>en (auch Pocket-PC), Mac OS X, Linux und FreeBSD.<br />
Über das Portable Operating System Interface (POSIX) lassen sich auch (PO-<br />
SIX-konforme Linux- und Unix-Anwendungen bereitstellen.<br />
Zusammenfassend ist zu bemerken: Die Kaufentscheidung für Terminalserverlösungen<br />
unter Windows wird dadurch erschwert, dass sich die Grenze zwischen den Microsoft-<br />
Basisfunktionen und den Add-ons permanent verschiebt. Der Markt für Zusatzprodukte<br />
wird klar von Citrix mit dem Produkt Presentation Server dominiert. Erschwert wird die<br />
Entscheidung auch dadurch, dass mit jeder neuen Windowsversion auch die Fähigkeiten<br />
des Terminalservers und der dazugehörigen Clients erweitert werden, da sich Microsoft<br />
im Markt für Softwareinfrastruktur gegen andere Serversysteme, in zunehmendem Maße<br />
aus dem Linuxumfeld, behaupten muss. Gleichzeitig geraten die Anbieter von ergänzender<br />
Software unter Druck und sind gezwungen, ihre Produktpalette ständig um neue<br />
Features und Programme zu erweitern.<br />
Dieses Dilemma setzt sich fort: Während sich einerseits die gebotenen Basisfunktionen<br />
mit verschiedenen <strong>Version</strong>en von Windows und in Abhängigkeit der geplanten Anwendung<br />
ändern, beklagen sich andererseits die Kunden über kostenpflichtige Features, da<br />
die Standarddienste durch Reduzierung der Funktionalität aus Gründen des Lizenzmarketings<br />
auf den Windows Serverbetriebssystemen zu wenig Nutzen bieten.<br />
Insgesamt führten die Verbesserungen an den Terminaldiensten jedoch dazu, dass der<br />
Anteil der Installationen, die ohne fremde Add-ons auskommen, größer wird. In Windows<br />
Server 2003 wurde die Ausstattung des Terminalservers weiter verbessert, sodass für<br />
seine Nutzung weder kostspielige Zusatzsoftware oder kostenlose Alternativen (VNC<br />
usw.) erforderlich sind. Nur bei größeren Installationen bedarf es weiterhin der Unterstüt-<br />
490 http://www.heise.de/security/artikel/print/61945<br />
Seite 495
zung durch Add-ons von Drittanbietern, in der Regel durch den Citrix Presentation Server.<br />
1.4 Citrix Presentationserver<br />
Citrix ist eine US-amerikanische Softwarefirma, die insbesondere durch das Produkt<br />
Terminalserver bekannt wurde und lange Zeit als Synonym für Terminalserver galt. Citrix<br />
kooperiert sehr eng mit Microsoft. Diese Kooperation umfasst eine technische Zusammenarbeit<br />
im Bereich neuer Erweiterungsmöglichkeiten des Windows Terminalserver<br />
und die gegenseitige Lizenzierung von Patenten. Darüber hinaus hat Citrix Zugriff auf<br />
den Quellcode des Windows-Servers.<br />
Obwohl die Citrix-Produkte nach wie vor sehr verbreitet sind und ein hohes Ansehen in<br />
großen, heterogenen Netzen genießen, die komplexe Managementanforderungen nach<br />
sich ziehen, sieht sich Citrix einer wachsenden Konkurrenz (u.a. Microsoft Terminalservers)<br />
gegenüber.<br />
Der Citrix Presentation Server ist Nachfolger des Marktführers Citrix Metaframe und<br />
dient der Bereitstellung von Windows-Anwendungen. Mit Metaframe konnten mehrere<br />
Terminalserver logisch zu einer Serverfarm zusammengeschlossen werden. Der Anwender<br />
(Client) sieht hierbei nicht einen einzelnen Server sondern sogenannte veröffentlichte<br />
Anwendungen, mit denen er sich verbindet. Auf welchem Server dann seine Anwendungen<br />
ausgeführt werden, entscheidet ein Mechanismus innerhalb der Serverfarm.<br />
Diese Architektur gewährleistet auch Verfügbarkeit bei Ausfall eines Servers.<br />
Der Presentation Server von Citrix erfordert neben den Lizenzen für Microsoft Windows<br />
Server/Terminalserver die eigenen Server- und Client-Lizenzen. Citrix Presentation Server<br />
unterliegt wie alle Produkte aus dem Hause Citrix dem „Concurrent User" Lizenzmodell,<br />
das heißt es müssen nur so viele Lizenzen erworben werden, wie Anwender gleichzeitig<br />
auf dem Presentation Server arbeiten sollen. Die Citrix Presentation Server-<br />
Software selbst darf auf beliebig vielen Servern installiert werden.<br />
ICA (Independent Computing Architecture), so der Name des verwendeten Protokolls,<br />
wird ausschließlich für die Kommunikation zwischen Terminalserver und Client genutzt.<br />
Neben der Übertragung von Grafik- und Tastatur-/Mauseingabedaten unterstützt ICA<br />
ebenfalls die Übertragung von Audiodaten, den Zugriff auf lokale Speicher oder angeschlossene<br />
Geräte, wie zum Beispiel einen Scanner oder USB-Sticks. Generell benötigt<br />
das ICA-Protokoll sehr wenig Bandbreite (10-20 kbps für einfache Anwendungen), da<br />
u.a. nur tatsächlich geänderte Grafikdaten oder Maus- und Tastatureingaben des Nutzers<br />
übertragen werden. Es können auch GPRS- oder GSM-Verbindungen genutzt werden,<br />
für deren Endgeräte zum Beispiel Smartphones, ebenfalls Clientanwendungen,<br />
verfügbar sind.<br />
Die 2007 erschienene <strong>Version</strong> 4.5 des Citrix Presentation Server wird in drei Varianten<br />
angeboten, die jeweils auf einem Windows Terminalserver aufsetzen:<br />
Seite 496
� Advanced Edition:<br />
Die Advanced Edition ist auf die Anforderungen von mittleren Umgebungen ausgelegt.<br />
Eine sichere Bereitstellung der Windowsanwendungen über das Netzwerk<br />
ist ohne jegliche Modifikation der Anwendungen sofort möglich. Neben zahlreichen<br />
anderen Funktionen stellt die Advanced Edition ausgereiftes Load-<br />
Balancing zum Aufbau von leistungsstarken Serverfarmen zur Verfügung. Über<br />
das Load-Balancing wird erreicht, dass einzelne Sessions gleichmäßig auf alle<br />
Citrix Server einer Farm verteilt werden. Dies geschieht in Abhängigkeit von der<br />
aktuellen Auslastung des einzelnen Servers. Gemessen werden zum Beispiel<br />
CPU-Last, verfügbarer Arbeitsspeicher und Netzwerk- und Plattenzugriffe. So<br />
können auch Server mit sehr unterschiedlicher Leistungsfähigkeit zu einer Farm<br />
zusammengeschlossen werden.<br />
� Enterprise Edition:<br />
Die Enterprise Edition ist auf die Anforderungen von größeren Umgebungen ausgelegt.<br />
Sie bietet zusätzlich ein Application-Streaming, mit dem zentral konfigurierte<br />
und verwaltete Windows-Anwendungen auf Benutzerdesktops oder weitere<br />
Presentation Server im gesamten Unternehmen gestreamt und dort zur Ausführung<br />
bereitgestellt werden können. Beim Application-Streaming werden Desktop-<br />
Anwendungen „on demand" auf das Endgerät übertragen. Dort werden sie in einer<br />
geschützten Umgebung lokal ausgeführt, ohne selbst am Endgerät installiert<br />
sein zu müssen. Dieses „Pull basierte" Bereitstellungsmodell ist eine Alternative<br />
zu lokalen Desktop-Installationen auf den einzelnen Endgeräten. Die gestreamten<br />
Applikationen laufen dort in einer isolierten Umgebung auf dem Endgerät.<br />
Damit werden von vornherein <strong>Version</strong>skonflikte auf dem Endgerät vermieden, da<br />
die gestreamte Anwendung mit anderen installierten Applikationen nicht in Berührung<br />
kommt. Beim Streaming werden die einzelnen Programmkomponenten jeweils<br />
nach Bedarf heruntergeladen und lokal ausgeführt. Wenn die Anwendung<br />
einmal auf das Endgerät heruntergeladen wurde, kann sie auch im Offline-Modus<br />
verwendet werden. Sobald wieder eine Verbindung zum Server hergestellt wird,<br />
wird die Anwendung automatisch mit dem zuvor gespeicherten Anwendungsprofil<br />
auf dem Server verglichen und gegebenenfalls automatisch mit bereitgestellten<br />
Updates aktualisiert. Die Enterprise Edition enthält zusätzliche Verwaltungswerkzeuge<br />
zur Unterstützung von großen Server-Farmen.<br />
� Platinum Edition:<br />
Die Platinum Edition beinhaltet darüber hinaus weitergehende Funktionen für IT-<br />
Sicherheit und Performance Management.<br />
Die primäre Authentisierung erfolgt über die Credentials von Microsoft. Desweiteren<br />
kann auch die Authentisierung über biometrische Merkmale oder Smartcards erfolgen.<br />
Die Verbindung zwischen Server und Client sind SSL/TLS gesichert.<br />
Alle drei Citrix Presentation Server 4.5 Editionen unterstützen die Microsoft Plattformen<br />
Windows Server 2003 und Windows Server 2003 x64. Zur Unterstützung von Windows<br />
2000 Server-Umgebungen sind in allen Editionen weiterhin Presentation Server 4.0 Installationsmedien<br />
enthalten.<br />
Seite 497
Presentation Server Enterprise und Platinum Edition beinhalten zusätzlich Presentation<br />
Server für UNIX-Betriebssysteme und bieten Unterstützung für Sun Solaris, IBM AIX und<br />
Hewlett-Packard HP-UX.<br />
Die Clientanwendung heißt Citrix-ICA-Client und ist für eine Vielzahl von Betriebssystemen,<br />
zum Beispiel sämtliche Windows Betriebssysteme, DOS, Java, Linux, weitere<br />
Unix-Derivate und Handheldsysteme, verfügbar.<br />
Zusammenfassend kann festgehalten werden: Der Citrix Presentation Server ist insbesondere<br />
für große Netze, die ausgefeilte Management-Konzepte erfordern, von großer<br />
Bedeutung. Die Protokolle RDP und ICA können als annähernd funktionsgleich angesehen<br />
werden. Gegenüber anderen Anbietern von Terminallösungen hat Citrix den Vorteil,<br />
Client-Anwendungen für fast jede Plattform (aus einer Hand) anzubieten, wobei jedoch<br />
neben den Citrix-Lizenzen immer auch die Lizenzen von Microsoft (mit-) erworben werden<br />
müssen.<br />
2 Migrationspfade<br />
Wie bereits in der Einleitung des Themas Terminal-Dienste und Client-Konzepte erwähnt,<br />
sind Terminalserver und deren zugehörige Clients kein klassisches Migrationsthema<br />
in dem Sinne, dass Daten, Konten, Einstellungen etc. von einer Umgebung in<br />
eine andere migriert werden müssen. Dem Einsatz von Terminalservern sind grundsätzliche,<br />
strategische Entscheidungen vorgelagert, mit denen Ziele wie zum Beispiel eine<br />
Verringerung des Administrationsaufwands, eine Erhöhung der Datensicherheit oder<br />
geringere Hardware- und Energiekosten verfolgt werden (siehe auch Einleitung zu diesem<br />
Themenblock – Kapitel III.E 1). Der Einsatz von Terminalservern ist in diesem Zusammenhang<br />
dann Teil einer grundlegenden strategischen Entscheidung, die häufig die<br />
Konsolidierung und Neuausrichtung der IT-Landschaft zum Inhalt hat. Andererseits kann<br />
der Einsatz von Terminalservern ein Hilfsmittel sein, um einen mittel- bis langfristig angelegten<br />
strategischen Wechsel in der IT-Landschaft durchzuführen, wie zum Beispiel ein<br />
durchgehender Wechsel des Betriebssystems. Im Rahmen solch grundsätzlicher Entscheidungen<br />
nehmen Terminalserver eine entscheidende Rolle bei der Unterstützung<br />
von Migrationen ein. Sie können dort eingesetzt werden, wo Anwendungen z. B. einer<br />
Windows-Umgebung in einer Linux- beziehungsweise OSS-Umgebung nicht lauffähig<br />
sind. Wenn auf diese Anwendungen nicht verzichtet werden kann, können diese den<br />
Benutzern über einen Terminalserver zur Verfügung gestellt werden. So wird eine in der<br />
Regel aufwändige und zeitintensive Neuentwicklung umgangen und eine effiziente Umstellung<br />
ermöglicht. Langfristig besteht hierbei aber dann das Ziel, diese Anwendungen<br />
im Rahmen der laufenden Neubeschaffung unter Einhaltung der Prinzipien der Wirtschaftlichkeit<br />
und des Investitionsschutzes durch Anwendungen zu ersetzen, die kompatibel<br />
zur neuen IT-Infrastruktur sind. Damit werden die eingesetzten Terminalserver überflüssig.<br />
Sind Terminalserver aber grundlegender Bestandteil einer IT-Infrastruktur, dann wird ein<br />
Wechsel der eingesetzten Terminalservertechnologie in der Regel durch ähnliche strategische<br />
Entscheidungen getrieben wie ein grundlegender Wechsel des Betriebssystems<br />
oder der darauf aufsetzenden Software. Die Gründe für solche Entscheidung können<br />
ganz unterschiedlich sein und sollen hier nicht näher betrachtet werden (siehe Modul I)<br />
Seite 498
Die Entscheidung selbst ist der erste wichtige Schritt der Migration. Der zweite Schritt ist<br />
die Wahl der neuen Terminalservertechnologie. Diese hängt zum einen sicherlich auch<br />
von Gründen ab, die zu einer Wechselentscheidung geführt haben, und zum anderen<br />
von Anforderungen, die an die Technologie gestellt werden.<br />
Der Versuch einer Gegenüberstellung von Funktionen einzelner Terminalserverlösungen<br />
ist aufgrund der Vielzahl der Funktionen und der Tatsache, dass sich fehlende Funktionen<br />
häufig durch den Einsatz weiterer Tools ausgleichen lassen, nur sehr schwer möglich.<br />
Die Grundfunktionen der Bereitstellung von Anwendungen auf einem Client-<br />
Rechner werden prinzipiell von allen vorgestellten Lösungen erfüllt. Unterschiede, die<br />
der einen oder anderen Lösung den Vorzug geben, liegen oft in den spezifischen Anforderungen<br />
z. B. einzelner Behörden. Angefangen bei den Anwendungen, über die Anzahl<br />
paralleler Sitzungen, bis hin zum Client-Betriebssystem oder am Client notwendiger<br />
Hardware (z. B. die Möglichkeit mehrere Monitore an einem Client anzuschließen) ergeben<br />
sie in jeder Organisation Anforderungen, die eine eingehende Analyse auch im<br />
Hinblick auf zukünftige Anforderungen erfordern. Zudem erweist sich der Markt für Terminalserverlösungen<br />
als sehr dynamisch und intransparent. So kommt es beispielsweise<br />
zu Überschneidungen mit Konzepten, die unter dem Schlagwort Virtualisierung diskutiert<br />
werden.<br />
Die folgende Übersicht der Terminalserverlösungen, die im Abschnitt III.E 1 betrachtet<br />
werden, hat daher nur den Charakter einer ersten Orientierung, um dem Leser einen<br />
Eindruck über mögliche Beurteilungskriterien zu geben. Es besteht kein Anspruch auf<br />
Vollständigkeit. Auch die Beurteilung einzelner Kriterien kann beim Lesen bereits überholt<br />
sein.<br />
LTSP NoMachine<br />
NX<br />
Seite 499<br />
Microsoft<br />
Terminalserver<br />
2000<br />
Microsoft<br />
Terminalserver<br />
2003<br />
Lokale Drucker X 491 X X X X<br />
Lokale Speichermedien,<br />
USB-Sticks<br />
X X X X X<br />
Lokale Audioausgabe X X X X X<br />
Load Balancing<br />
(Farm)<br />
Geringe Anforderungen<br />
ans Netz (Maßnahmen<br />
bei Unterbrechungen)<br />
492 X X X X<br />
X X X X<br />
491 X = (tendenziell) erfüllt<br />
492 Es befinden sich Entwicklungen in der Erprobung. siehe z. B.<br />
http://www.mindtouchsoftware.com/blog/2007/04/30/ltsp/.<br />
Citrix<br />
Presentationserver
Nutzung von Anwendungen<br />
durch den<br />
Client ohne Netzzugang<br />
Authentifizierung LDAP 493 ,<br />
SSH<br />
Active Directory Unterstützung<br />
LTSP NoMachine<br />
NX<br />
Seite 500<br />
Microsoft<br />
Terminalserver<br />
2000<br />
Microsoft<br />
Terminalserver<br />
2003<br />
X X<br />
LDAP, SSH MS Credentials<br />
MS Credentials<br />
X 494 X 495 X X X<br />
Citrix<br />
Presentationserver<br />
MS Credentials<br />
Verschlüsselung SSH SSH SSL/TLS SSL/TLS SSL/TLS<br />
Client-<br />
Betriebssysteme<br />
Client – Protokollunterstützung<br />
Server-<br />
Betriebssysteme<br />
gängige<br />
(Linux,<br />
Windows<br />
XP, OS X)<br />
X-Window,<br />
RDP<br />
gängige<br />
(Linux,<br />
Windows<br />
XP, OS X)<br />
X-Window,<br />
NX, RDP<br />
Linux Linux, Solaris<br />
Lizenzkosten keine Abhängig<br />
von Anzahl<br />
installierter<br />
Server 497<br />
Betriebssystem-basis<br />
für Terminal-<br />
Anwendungen<br />
Betrieb des Clients<br />
ohne Festplatte (Thin<br />
Client)<br />
Windows-<br />
<strong>Version</strong>en,<br />
OS X, Linux<br />
Windows-<br />
<strong>Version</strong>en,<br />
OS X, Linux<br />
(alle) gängigen<br />
(DOS, Windows,<br />
Java,<br />
Linux<br />
Handheld<br />
etc.)<br />
RDP RDP RDP, ICA<br />
Win 2000 Win 2003 Win 2003,<br />
2003 x64,<br />
(Solaris,<br />
AIX, HP-<br />
UX) 496<br />
Server und<br />
Client (Benutzer<br />
/<br />
Geräte) –<br />
Lizenzen<br />
Server und<br />
Client (Benutzer<br />
/<br />
Geräte) –<br />
Lizenzen<br />
Microsoft-<br />
Lizenzen<br />
+<br />
Abhängig<br />
von Anzahl<br />
paralleler<br />
Sitzungen<br />
Linux Linux Windows Windows Windows,<br />
(Unix)<br />
X X<br />
Tabelle 77: Übersicht der Funktionen verschiedener Terminalserverlösungen<br />
493<br />
http://www.pcxperience.org/thinclient/documentation/ldap.html<br />
494<br />
Werden nicht von allen <strong>Version</strong>en unerstützt (nur NX Enterprise Server<br />
NX Advanced Server)<br />
495<br />
http://www.linux-magazin.de/content/view/full/13549/month/12/year/2007<br />
496<br />
497<br />
Nur in der Platinum-Edition.<br />
http://www.linuxland.de/store/em99/EM99-202-EN/de/?view=desc
An dieser Stelle soll nochmals betont werden, dass sich nicht jede Anwendung problemlos<br />
über einen Terminalserver zugänglich machen lässt. In der Tendenz sind 3D-grafik-<br />
und multimedialastige Anwendungen für den Terminalserverbetrieb ungeeigneter. Der<br />
Aufwand ist ex-ante allerdings schwer prognostizierbar oder auch nur zum Beispiel nach<br />
Programmier- oder Administrationsaufwand kategorisierbar, da die Probleme stark durch<br />
die vorhandene Infrastruktur und die vorhandene Parametrisierung bestimmt werden. Im<br />
Rahmen einer geplanten Migration (von Client- und Serverbetriebssytemen und Anwendungen)<br />
ist neben der Aufwandsschätzung für die Einrichtung von Terminalservern insbesondere<br />
die Einrichtung möglichst realitätsnaher Testumgebungen sehr zu empfehlen,<br />
da sich das Verhalten unter Last und eventuelle Inkompatibilitäten z. T. nur schwer<br />
vorhersagen lassen.<br />
In erheblichem Maße werden Terminalserverentscheidungen auch vom vorhandenen<br />
Knowhow beeinflusst. So existieren oft wenig bekannte Lösungen, die als Zusatzsoftware<br />
funktionale Anforderungen abdecken. Gerade im OSS-Umfeld empfiehlt sich daher<br />
eine genauere Sondierung des Marktes.<br />
Nachdem eine Auswahl für eine neue Terminalserverlösung getroffen wurde, welche den<br />
definierten Anforderungen gerecht wird, stellt sich die Frage des Vorgehens bei der Migration.<br />
Diese stellt sich insbesondere dann, wenn es darum geht, einen Wechsel des<br />
Betriebssystems durchzuführen. Denn eigentlich nützt es nichts, lediglich einen Wechsel<br />
der Terminalserverlösung durchzuführen, wenn die bestehenden Anwendungen nicht<br />
damit zurecht kommen. Prinzipiell müssen hier ähnliche Vorgehensmodelle in Betracht<br />
gezogen werden, wie sie auch bei einem Wechsel des Betriebssystems in Umgebungen<br />
ohne Terminalserver zur Verfügung stehen (siehe Abschnitt I.D 2).<br />
Aus der vorangegangenen Darstellung wird deutlich, dass ein Wechsel einer Terminalservertechnologie,<br />
welche Gründe auch immer zu einer entsprechenden Entscheidung<br />
führen, keinen grundlegenden Unterschied zu anderen Migrationen darstellt. Letztendlich<br />
ergeben sich die Detailunterschiede aus den speziellen Entscheidungen und Anforderungen<br />
der jeweiligen Behörde.<br />
Im Folgenden werden mögliche Migrationspfade in erster Linie im Hinblick auf notwendige<br />
Voraussetzungen und bemerkenswerte Funktionsunterschiede untersucht.<br />
2.1 Migration von Microsoft Windows Terminal Server nach NoMachine NX<br />
Server<br />
Dem Wechsel von einem Microsoft Terminalserver auf einen NoMachine NX Server geht<br />
in der Regel die Entscheidung für einen Wechsel der Client- und der Serverbetriebssysteme<br />
von Microsoft zu Linux voraus beziehungsweise diese geht mit der Entscheidung<br />
zu NoMachine NX Server einher. Die Entscheidung zur Migration auf Linux erfordert<br />
dabei nicht zwingend die Ablösung des Windows Terminalserver, da Microsoft Clients für<br />
Linux anbietet. Zudem gibt es mit rdesktop einen OSS-Client, der den meisten Linux-<br />
Distributionen bereits beiliegt und den binären MS-Client ersetzen kann.<br />
Spätestens wenn auch Linux-Anwendungen über einen Terminalserver bereitgestellt<br />
werden sollen, müssen Alternativen gefunden werden. Hier zeichnet sich der NoMachine<br />
NX Server zum einen durch seine Performance wegen des NX-Protokolls, das nur wenig<br />
Seite 501
Bandbreite benötigt, und zum anderen durch ein Lizenzmodell, das Kosten pro Server<br />
und nicht pro Verbindung verursacht, aus.<br />
Des Weiteren eignet sich der NoMachine NX Server auch hervorragend zur Integration<br />
beider Welten. Der kostenlose NX-Client unterstützt zum einen neben dem NX- und dem<br />
X-Protokoll auch noch das von Microsoft verwendete Remote Desktop Protokoll (RDP).<br />
Zudem lassen sich Anwendungen, die von einem Windows Terminalserver über das<br />
RDP bereitgestellt werden, über Agenten in den NX-Server integrieren. Der NX-Server<br />
kann die Anwendung daraufhin über das sehr effiziente NX-Protokoll den NX-Clients zur<br />
Verfügung stellen. 498<br />
Die Hauptbeweggründe für einen Wechsel lassen sich also in<br />
� genereller Wechsel zu Linux,<br />
� Bereitstellung von Linux-Anwendungen und<br />
� Integration von Anwendungen aus Windows- und Linuxumgebungen<br />
zusammenfassen.<br />
Die Multifunktionalität der Lösung darf aber nicht die Bedeutung der Aufgabe einschränken,<br />
am Anfang des Einsatzes von Terminalservern immer eine Bestandsaufnahme aller<br />
Funktionen, Dienste und Programme durchzuführen. Nur auf dieser Basis kann dann<br />
untersucht werden, für welche eine Ablösung durch Open Source erfolgen kann und<br />
welche aus technischen oder wirtschaftlichen Gründen heraus beibehalten werden. 499<br />
Auch hier gilt, dass zum Beispiel Office-Anwendungen und ERP-Clients, die in der Regel<br />
weniger 3D-Darstellungen oder hoch auflösende Grafiken erfordern, sich eher für den<br />
Terminalservereinsatz eignen als CAD-Anwendungen oder Anwendungen zur Bearbeitung<br />
von Audio- oder Video-Daten.<br />
Wie bereits bei der Vorstellung des NX-Servers erwähnt, zeichnet sich NX durch<br />
� eine effiziente Kompression des normalen X-Verkehrs,<br />
� einen intelligenten Mechanismus zum Speichern und Wiederverwenden (Cachen)<br />
bereits übertragener Daten und<br />
� eine starke Reduzierung zeitraubender X „round-trips―<br />
aus und ermöglicht so eine kaum eingeschränkte Arbeitsgeschwindigkeit des Benutzers<br />
und eine nur geringe Beanspruchung der Bandbreite des Netzes. 500<br />
Bei einem Wechsel des Teminalservers von Microsoft zu NoMachine ist zu beachten,<br />
dass auf jeden Client-Rechner ein NX-Client ausgerollt werden muss, sofern dieser nicht<br />
als Web-Client laufen soll. Da der NX-Client nicht OpenSource ist, haben gängige Linux-<br />
Distributionen in der Regel keinen NX-Client installiert. Auf Windows-Rechnern befindet<br />
sich standardmäßig ohnehin kein NX-Client. Im Gegensatz dazu ist der Client zur Verbindung<br />
mit dem Windows Terminalserver bei aktuellen Windows-Rechnern dabei.<br />
498 http://www.pl-berichte.de/berichte/lt2004-nxartikel.html<br />
499 http://www.dtnet.de/Loesungen/OSS-<br />
Migration/OpenSourceEinfuehrunginUnternehmen/index.html<br />
500 http://www.pl-berichte.de/berichte/lt2004-nxartikel.html<br />
Seite 502
Die Installation der Clients gestaltet sich allerdings sehr einfach. Für alle Betriebssysteme<br />
werden die Standard-Installationsarten verwendet (.exe unter Windows, .rpm oder<br />
.deb – Dateien für Linux).<br />
2.2 Migration von Microsoft Windows Terminal Server 2000 nach Microsoft<br />
Windows Terminal Server 2003<br />
Ein Wechsel von Windows Terminalserver 2000 zu Windows Terminalserver 2003 wird<br />
in erster Linie durch den Wechsel des darunter liegenden Servers bestimmt. Gegenüber<br />
dem Windows 2000 Server hat der Windows Server 2003 insbesondere in den Bereichen<br />
Hochverfügbarkeit, Sicherheit, Skalierbarkeit und Administration/Wartung gewonnen;<br />
diese unterstützen indirekt auch den Terminalserver:<br />
� Hochverfügbarkeit<br />
Neben dem Microsoft Cluster Service und Network Load Balancing, das seit<br />
Windows 2000 bekannt ist, tragen zusätzliche Monitoring- und Prozessrecycling-<br />
Features zur Verbesserung bei.<br />
� Sicherheit:<br />
Wichtige Änderungen im Sicherheitsbereich betreffen die Definition von Serverrollen.<br />
Dabei werden nur die von der jeweiligen Serverrolle benötigten Dienste installiert.<br />
Die kritische Funktionalität 501 muss explizit frei geschaltet werden. Zusammen<br />
mit dem aus Windows 2000 Server bewährten und natürlich auch in<br />
Windows Server 2003 vorhandenen Sicherheitsmechanismen wie Kerberos, PKI,<br />
SSL, IPSec, und so weiter lassen sich sichere Systeme aufbauen.<br />
� Skalierbarkeit<br />
Um auch für Lastspitzen, zum Beispiel bei Internet-Anwendungen, gut gerüstet<br />
zu sein, hat sich in der Vergangenheit die Verwendung von Network Load Balancing<br />
Clustern bewährt. Diese Funktionalität ist in Windows Server 2003 durch ein<br />
neues grafisches Benutzerinterface einfacher zu bedienen.<br />
� Administration und Wartung<br />
Die von Windows Server 2003 bereitgestellte Funktionalität ist um einige Stufen<br />
granularer sowie auf die Bedürfnisse im realen Betrieb besser abgestimmt, als<br />
die von den Bordmitteln vorangegangener MS-Serverbetriebssysteme bekannten<br />
Tools. 502<br />
Gegenüber Terminalserver 2000 sind beim Terminalserver 2003 insbesondere folgende<br />
Erweiterungen hervorzuheben: 503<br />
� Bessere Skalierbarkeit<br />
Der Terminalserver 2003 unterstützt mehr Benutzer pro Server als Windows<br />
501 Als Beispiel seien die Frontpage Extensions im IIS genannt.<br />
502 Einen Vergleich der Funktionalitäten findet man unter<br />
http://www.microsoft.com/germany/windowsserver2003/uebersicht/vergleich.mspx oder<br />
http://www.microsoft.com/germany/msdn/library/windows/windowsserver2003/WindowsSer<br />
ver2003AlsAnwendungsplattform.mspx?mfr=true<br />
503 http://msdn2.microsoft.com/en-us/library/Aa383015.aspx;<br />
http://www.abacus.ch/downloads/pages/2004-03/s58-59.pdf<br />
Seite 503
2000 Terminalserver. Ebenso werden Technologien zum Ausgleich von Netzwerklasten<br />
und von Serverlasten unterstützt.<br />
� Einfachere Verwaltbarkeit<br />
Über die Einbindung von Gruppenrichtlinien bietet Terminalserver 2003 bessere<br />
Möglichkeiten, einen Client remote zu verwalten. Über WMI (Windows Management<br />
Instrumentation) Provider mit Schreib- und Lesezugriff stehen eine Vielzahl<br />
von Verwaltungsmöglichkeiten zur Verfügung.<br />
� Benutzerfreundliche Remote-Desktop-Verbindung<br />
Die Remote-Desktop-Verbindung ist der Terminalclient von Windows. Eine neue<br />
Benutzeroberfläche ermöglicht eine leichtere Bedienung, ein Speichern von Verbindungseinstellungen,<br />
eine dynamische Anpassung an die verfügbare Bandbreite<br />
und so weiter.<br />
� Erweitertes RDP<br />
Windows Terminalserver 2003 unterstützt die RDP 5.1, das mit dem Servicepack<br />
1 für Windows XP ausgeliefert wurde. Dies bedeutet eine Vielzahl von Erweiterungen<br />
gegenüber RDP 5.0, das von Windows Terminalserver 2000 genutzt wurde.<br />
Bei der Verwendung von RDP 5.1 stehen im Rahmen der Session lokale<br />
Ressourcen zur Verfügung, zum Beispiel das Dateisystem des Clients, Audioausgabe,<br />
serielle Anschlüsse, Drucker oder Zwischenablage. So können Dateien<br />
auf dem lokalen Client geöffnet, gespeichert oder gedruckt werden, auch wenn<br />
die Anwendung auf dem entfernten Terminalserver läuft. Mit RDP 5.1 können zudem<br />
eine Farbtiefe von 256 Farben bis zu True Color ausgewählt und Bildschirmauflösungen<br />
von 640 x 480 bis zu 1600 x 1200 festgelegt werden. 504<br />
Ein Wechsel des Terminalservers von der <strong>Version</strong> 2000 auf 2003 ist insgesamt nur ratsam,<br />
wenn die erweiterten Funktionen benötigt werden. Clientseitig stehen die erweiterten<br />
Möglichkeiten, Multimediaanwendungen zu nutzen, die eine hohe Bildschirmauflösung<br />
und große Farbtiefe erfordern oder die Ausgabe von Audiodaten verlangen, im<br />
Vordergrund. Serverseitig kann auch die Entscheidung einer Serverkonsolidierung zum<br />
Beispiel der Ersatz mehrerer kleinerer Server durch einen leistungsfähigeren Server einen<br />
Wechsel sinnvoll machen, insbesondere vor dem Hintergrund, dass Microsoft den<br />
Support für Windows 2000 bereits aufgekündigt hat.<br />
Bei einem Wechsel des Terminalservers von 2000 nach 2003 ist des Weiteren darauf zu<br />
achten, dass die Client-Software aktualisiert wird, damit die erweiterten Funktionen des<br />
RDP genutzt werden können. Hierbei handelt es sich um die Remote Desktop Connection<br />
Software, die für alle neueren Windows-<strong>Version</strong>en verfügbar ist. 505<br />
Die Migration von Windows 2000 Server auf Windows Server 2003 verläuft in der Regel<br />
„out of the box― und ist gut dokumentiert. 506 Probleme können in Abhängigkeit von der<br />
definierten Serverrolle, der Parametrisierung und gegebenenfalls installierter Zusatz-<br />
504<br />
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/de/library/ServerHelp/<br />
7750ed9c-f468-484e-a08f-ccab73ddd3fe.mspx?mfr=true<br />
505<br />
http://www.microsoft.com/downloads/details.aspx?displaylang=de&FamilyID=80111F21-<br />
D48D-426E-96C2-08AA2BD23A49<br />
506<br />
Eine Seite mit Microsoft-Hinweise findet man unter<br />
http://www.microsoft.com/windowsserver2003/upgrading/w2k/default.mspx<br />
Seite 504
software auftreten, wobei sich diese nicht generell vorhersagen lassen. Erfahrungsgemäß<br />
kommt es so gut wie nie aufgrund der Terminalserver-Einstellungen oder -<br />
Funktionen zu Problemen.<br />
2.3 Von Microsoft Windows Terminal Server nach Citrix Presentationserver<br />
Gartner Research hat in einer Studie vom Juli 2004 den Windows Terminalserver 2003<br />
und den damaligen Citrix MetaFrame Terminalserver miteinander verglichen. Danach ist<br />
der Windows 2003 Terminalserver ausreichend, wenn nur Windows Applikationen genutzt<br />
werden, weniger als 800 Benutzer angeschlossen sind, nicht mehr als 10 Anwendungen<br />
verwendet werden und die Microsoft Windowsserver Management Funktionalität<br />
eingesetzt wird. 507<br />
Eine spätere Untersuchung der Tolly Group im Auftrag von Citrix bestätigte die Aussagen<br />
von Gartner Research. Neben einer leichten generellen Verbesserung der Geschwindigkeit<br />
lagen die Vorteile des Citrix Presentation Server gegenüber dem Windows<br />
2003 Terminalserver insbesondere im Bereich Leistungsstabilität auch bei höherer Serverauslastung.<br />
Während sich die Antwortzeiten des Windows Terminalserver 2003 bei<br />
steigender Last überproportional verlängerten, blieben diese beim Presentation Server<br />
sehr stabil. 508<br />
Diese Aussagen gelten bis heute. Bei dem Citrix Presentation Server handelt es sich um<br />
die große Lösung im Bereich der Terminaldienste. So wurden beispielsweise im Bereich<br />
der öffentlichen Verwaltung bei der LVA Rheinprovinz, einem Träger der gesetzlichen<br />
Rentenversicherung, ca. 5000 Benutzer über mehrere Standorte mit Anwendungen versorgt.<br />
Die Anwendungssoftware wurde hier auf eine zentrale Serverfarm mit mehr als 80<br />
Citrix Presentation Servern verlagert. Des Weiteren wurden für das Rechenzentrum der<br />
Finanzverwaltung des Landes Nordrhein-Westfalen über 140 Dienststellen mit ca.<br />
17.000 Benutzern mit entsprechenden Anwendungen versorgt. Als weiteres Referenzprojekt<br />
im öffentlichen Sektor nennt Citrix eine Implementierung des Servers bei den<br />
Stadtwerken Herne, bei der ca. 300 Benutzer angeschlossen sind. 509 Hierbei dürfte es<br />
sich allerdings tendenziell um die untere Grenze sinnvoll mit dem Citrix Presentation<br />
Server versorgter Benutzer handeln.<br />
Neben Vorteilen bei der Skalierbarkeit beinhaltet die Lösung von Citrix weitere Funktionen,<br />
die Windows Terminalserver 2003 allein nicht bietet, sodass Citrix Presentationserver<br />
insgesamt die umfassendere Lösung darstellt, die speziell auf die Bedürfnisse großer<br />
Behörden und Unternehmen mit vielfältigen Einsatzszenarien ausgelegt ist. Die weiteren<br />
Funktionsunterschiede lassen sich in die Kategorien Benutzerwahrnehmung, Administration,<br />
Kompatibilität und Sicherheit bzgl. Vertraulichkeit und Integrität der Daten unterteilen.<br />
507 Gemäß http://www.abacus.ch/downloads/pages/2004-03/s58-59.pdf<br />
508 http://www.tolly.com/ts/2006/Citrix/PresentationServerEnterprise/ TollyTS206146CitrixSystemsPresentationServer4August2006.pdf<br />
509 Diese und weitere Beispiele für Citrix in der öffentlichen Verwaltung finden sich unter<br />
http://www.citrix.de/modules/resource/download/42e116630e199a42010e1caf38e5000a/Oe<br />
ffentliche%20Verwaltung.pdf<br />
Seite 505
Im Folgenden werden die einzelnen Kategorien näher betrachtet und kurz exemplarische<br />
Einsatzszenarien angedacht, die den Zusatznutzen der erweiterten Funktionalität (neben<br />
der besseren Skalierbarkeit) eines Presentation Server gegenüber Windows Terminalserver<br />
darstellen. 510<br />
� Benutzerwahrnehmung:<br />
Im Bereich der Benutzerwahrnehmung sind neben den erwähnten Performance-<br />
Verbesserungen der Anwendungen (insbesondere bei hoher Serverauslastung)<br />
verbesserte und schnellere Druckfunktionen zu erwähnen. So verringert sich die<br />
Bearbeitung eines Druckauftrags um den Faktor 2-3. Des Weiteren ermöglichen<br />
verbesserte Multimedia-Möglichkeiten (zum Beispiel die Synchronisation von Audio<br />
und Video oder bidirektionaler Austausch von Audiodaten) E-Learning-<br />
Anwendungen oder anspruchsvolle Grafik-Programme.<br />
Für mobile Nutzer eines Laptops bietet der Citrix Presentation Server eine Funktion<br />
namens Application Streaming. Diese ermöglicht den Benutzern die Verwendung<br />
einer Applikation, ohne dass eine Verbindung zum Netzwerk besteht.<br />
� Administration:<br />
Der Presentation Server bietet insgesamt weitaus differenziertere Möglichkeiten<br />
der Administration. Über eine Mangement-Konsole kann gezielt festgelegt werden,<br />
wann welche Anwendung veröffentlicht wird oder welche Rechte zur Nutzung<br />
einer Anwendung erforderlich sind. Anwendungen können zudem automatisiert<br />
auf verschiedenen Presentation Servern installiert werden.<br />
Einzelne Sitzungen lassen sich anhand verschiedener Kriterien wie CPU-Last<br />
oder RAM-Auslastung verteilen. Geografisch verteilte Server lassen sich in einer<br />
sogenannten Farm zusammenfassen und bieten hierdurch einen verbesserten<br />
Schutz bei Ausfall eines Servers und ermöglichen die gezielte Überwachung einzelner<br />
Anwendungen. Darüber hinaus erlaubt es der Presentation Server, einzelne<br />
Anwendungen über einen Web-Browser zu nutzen oder diese in ein Web-<br />
Portal einzubinden, ohne dass ein erneutes Anmelden erforderlich wird. Über ein<br />
erweitertes Management der Druckdienste lassen sich neben zusätzlichen Funktionen,<br />
wie zum Beispiel die gezielte Auswahl eines Papierfachs, das Heften,<br />
beidseitiger Druck und so weiter, auch eine Vielzahl von Druckern einbinden, deren<br />
Nutzung über Richtlinien eingeschränkt werden kann.<br />
� Kompatibilität:<br />
Die größere Kompatibilität des Presentation Server gegenüber dem Terminalserver<br />
2003 zeigt sich (neben der Möglichkeit, eine Vielzahl von Druckern einzubinden)<br />
zum Beispiel dadurch, dass mehr Client-Betriebssysteme (auch für viele<br />
Handhelds und Smartphones) und mehr USB-Geräte (zum Beispiel Scanner oder<br />
zur USB-Synchronisation von Pocket-PCs) unterstützt werden.<br />
Über die Funktion der Application Isolation können Anwendungen über einen<br />
Terminalserver veröffentlich werden, die nicht für den Einsatz auf diesen entwi-<br />
510 http://www.citrix.de/modules/resource/download/42e1166210bbd11f0110bcd89f500003/<br />
eng_ValueAdd_CPS4.5_TS2003.pdf<br />
Seite 506
ckelt wurden. So können zum Beispiel Registry-Einträge, die Sperrung von Bibliotheken,<br />
Objekt-Benennungen und so weiter isoliert werden, sodass andere Anwendungen<br />
von den Einstellungen nicht betroffen werden.<br />
� Sicherheit bzgl. Vertraulichkeit und Integrität der Daten:<br />
Neben einer Verschlüsselung über einen SSL Gateway oder ein hardwareunterstütztes<br />
VPN bietet Citrix eine breite Unterstützung sicherheitsrelevanter Technologien.<br />
Zum Beispiel werden im Bereich starker Authentifizierung Token, Smartcards<br />
oder biometrische Sensoren unterstützt. Zudem müssen DMZs nicht gesondert<br />
konfiguriert werden, um den Datenverkehr des Presentation Server<br />
durchzuleiten.<br />
Hilfreiche Foren zum Thema Migration und zur Installation des Citrix Presentation Server<br />
mit Problemlösungen beziehungsweise Ursachen finden sich auf den Seiten der Deutschen<br />
Citrix User Group (DCUG). 511<br />
3 Bezüge<br />
Bei der Migration von Terminaldiensten existieren vor allem Bezüge zu den Themen<br />
Authentifizierungsdienste und Netzwerkdienste.<br />
3.1 Authentifizierungs- und Verzeichnisdienste<br />
Authentifizierungs- und Verzeichnisdienste werden in der Regel im Rahmen von Terminaldiensten<br />
und Clientkonzepten integriert, um damit eine höhere Anzahl von Benutzern<br />
und deren Identitätsdaten besser verwalten und steuern zu können. Hierdurch wird zum<br />
einen eine redundante Datenhaltung vermieden und zum anderen erheblicher Verwaltungsaufwand<br />
eingespart. Siehe hierzu Kapitel II.C .<br />
3.2 Netzwerkdienste<br />
Netzwerkdienste sind prinzipielle Voraussetzung für den Einsatz von Terminaldiensten.<br />
Sie stellen überhaupt erst die Möglichkeit zur Realisierung von Terminaldiensten über<br />
die Verbindung der Terminals mit den Servern zur Verfügung und liefern grundlegende<br />
Werkzeuge für die Administration. Im Zuge einer Migration sollten daher die Betrachtungen<br />
des Kapitels II.D Berücksichtigung finden.<br />
511 http://www.dcug.de/cms/portal.php.<br />
Seite 507
IV. Anhang<br />
A Abkürzungsverzeichnis<br />
a.a.O am angegebenen Ort<br />
Abs. Absatz<br />
ACE Access Control Entries<br />
ACL Access Control List<br />
AD Active Directory<br />
ADAM Active Directory Application Mode<br />
ADC Active Directory Connector<br />
ADMT Active Directory Migration Tool<br />
ADO ActiveX Data Objects<br />
ADS Active Directory Service<br />
ADSI Active Directory Service Interface<br />
AfA Aufwand für Abschreibung<br />
AFS Andrew File System<br />
AIX Unix Distribution der Firma IBM<br />
AJAX Asynchronous JavaScript and XML<br />
Alt. Alternative<br />
Anz. Anzahl<br />
APC Arbeitsplatzcomputer<br />
API Application Programming Interface<br />
APOC A Point Of Control<br />
APOP Authenticated Post Office Protocol<br />
APT Advanced Package Tool<br />
ASCII American Standard Code for Information Interchange<br />
ASF Apache Software Foundation<br />
ASP Active Server Pages<br />
ATL Active Template Library<br />
ATM Asynchronous Transfer Mode<br />
Aufl. Auflage<br />
AZ Aktenzeichen<br />
BB Bulletin Boards<br />
Seite 508
BDC Backup Domain Controller<br />
BfD Bundesbeauftragter für den Datenschutz<br />
BGB Bürgerliches Gesetzbuch<br />
BHO Bundes-Haushalts-Ordnung<br />
BIND Berkeley Internet Name Domain<br />
BMF Bundesministerium für Finanzen<br />
BMI Bundesministerium des Innern<br />
BOOTP Bootstrap Protocol<br />
BS Betriebssicht<br />
BSD Berkeley Software Distribution<br />
BSI Bundesamt für Sicherheit in der Informationstechnik<br />
bspw. beispielsweise<br />
BVA Bundesverwaltungsamt<br />
BVB Besondere Vertragsbedingungen<br />
bzgl. bezügliche<br />
bzw. beziehungsweise<br />
CA Certification Authority<br />
ca. cirka<br />
CAL Client Access License<br />
Calc. Calculation (Kalkulation)<br />
CAS Code Access Security<br />
CCSMT SMS Migration Tool<br />
CDO Collaboration Data Objects<br />
CGI Common Gateway Interface<br />
CIFS Common Internet File System<br />
CIM Common Information Model<br />
CIS COM Internet Service<br />
CLI Common Language Infrastructur<br />
CLR Common Language Runtime<br />
cn common Name<br />
CO Crossover Office<br />
COLS Commercial Linux Software<br />
COM Component Object Models<br />
COM+ Component Object Models<br />
Seite 509
CORBA Common Objects Request Broker Architecture<br />
CPU Central Processing Unit<br />
CSS Cascading Style Sheets<br />
CUPS Common UNIX Printing System<br />
DACL Discretionary Access Control List<br />
DAV Distributed Authoring and <strong>Version</strong>ing<br />
DB Datenbank<br />
DBMS Datenbankmanagementsystem<br />
DC Domain Controller<br />
dc domainComponent<br />
DCOM Distributed Component Object Models<br />
DDE Dynamic Data Exchange<br />
DDNS Dynamic DNS<br />
DFS Distributed File System<br />
DHCP Dynamic Host Configuration Protocol<br />
DIT Directory Information Tree<br />
DLC Data Link Control<br />
DLL Dynamic Link Libraries<br />
DMS Dokumentenmanagementsystem<br />
DMZ Demilitarized Zone<br />
DN Distinguished Name<br />
DNS Domain Name Server<br />
DNSSEC Domain Name System Security<br />
DOM Document Object Model<br />
DOMEA Dokumenten-Management und elektronische Archivierung<br />
DRBD Distributed Replicated Block Device<br />
DS Directory Service<br />
DSO Dynamic Shared Objects<br />
DTD Document Type Definition<br />
DTS Data Transformation Services<br />
DV Datenverarbeitung<br />
DXL Domino Extensible Language<br />
E2K Exchange 2000<br />
ECMA European Computer Manufacturers Association<br />
Seite 510
EFQM European Foundation for Quality Management<br />
EFS Encrypting File System<br />
EJB Enterprise Java Beans<br />
EMF Enhanced Meta Format<br />
ESC/P Epson Printer Language<br />
etc. et cetera<br />
EULA End User License Agreement<br />
EVB-IT Ergänzende Vertragsbedingungen für die Beschaffung von IT-<br />
Leistungen<br />
EXT2 Extendend Filesysten <strong>Version</strong> 2<br />
EXT3 Extended Filesystem <strong>Version</strong> 3<br />
f. folgend<br />
f., ff. folgend(e)<br />
FAT File Allocation Table<br />
Fn. Fußnote<br />
FQDN Full Qualified Domain Name<br />
FRS File Replication Service<br />
FSG Free Standard Group<br />
FSMO Flexible Single Master Operation<br />
FTP File Transfer Protocol<br />
GC Global Catalog<br />
GDI Graphics Device Interface<br />
GGO Gemeinsame Geschäftsordnung der Bundesministerien<br />
ggü. gegenüber<br />
GmbH Gesellschaft mit beschränkter Haftung<br />
GMBI Gemeinsames Ministerialblatt<br />
GNOME GNU Network Object Model Environment<br />
GNU GNU's Not UNIX ???<br />
GPL General/Gnu Public License<br />
GPOs Group Policy Objects<br />
GPS Global Positioning System<br />
GSS-API Generic Security Service API<br />
GUID Global Unique Identifier<br />
GWB Gesetz gegen Wettbewerbsbeschränkungen<br />
Seite 511
HACMP High Availability Cluster Management Protocol<br />
HAL Hardware Abstraction Layer<br />
HD Harddisk<br />
HIS Host Integration Server<br />
HP Hewlett-Packard<br />
Hrsg. Herausgeber<br />
HS Haushaltssicht<br />
HSM Hierarchical Storage Management<br />
HTML Hypertext Markup Language<br />
HTTP Hypertext Transfer Protocol<br />
HTTPS Hyper-Text Transfer Protocol Secure<br />
i. d. F. v. in der Fassung von<br />
i. d. R. in der Regel<br />
i. w. S. im weiteren Sinn<br />
ICA Independent Computing Architecture<br />
IDE Integrated Development Enviroment<br />
IEAK Internet Explorer Administration Kit<br />
IETF Internet Engineering Task Force<br />
IIOP Internet Inter-ORB Protocol<br />
IIS Internet Information Server<br />
IL Intermediate Language<br />
IMAP4 Internet Mail Access Protocol 4<br />
IMAPS Internet Mail Access Protocol Secure<br />
IMKA Interministerieller Koordinierungsausschuss für Informationstechnik in<br />
der Bundesverwaltung<br />
IP Internet Protocoll<br />
IPC Interprocess Communication<br />
IPP Internet Printing Protocol<br />
Ipsec Internet Protocol Security Protocol<br />
IPv6 IP <strong>Version</strong> 6<br />
IPX Internet Packet Exchange<br />
IRC Internet Relay Chat<br />
IRM Information Rights Management<br />
IS Information Store<br />
Seite 512
ISA Internet Security and Acceleration<br />
ISAPI Internet Service Application Programming Interface<br />
ISC Internet Software Consortium<br />
ISO International Organization for Standardization<br />
ISSN International Standard Serial Number<br />
IT Informationstechnologie<br />
IT-WiBe Empfehlung zur Durchführung von Wirtschaftlichkeitsbetrachtungen<br />
beim Einsatz der IT in der Bundesverwaltung<br />
IuK Information und Kommunikation<br />
J2EE Java 2 Enterprise Edition<br />
J2SE Java 2 Standard Edition<br />
JAXP Java API for XML<br />
JDBC Java Database Connectivity<br />
JDS Sun Java Desktop System<br />
JFS Journaled File System<br />
JIT Just In Time<br />
JMC Java Message Service<br />
JNDI Java Naming and Directory Interface<br />
JRE Java Runtime Environment<br />
JRMI Java Remote Method Invocation<br />
JSP Java Server Pages<br />
JTA Java Transaction API<br />
JVM Java Virtual Machine<br />
KBSt Koordinierungs- und Beratungsstelle der Bundesregierung für Informationstechnik<br />
in der Bundesverwaltung<br />
KDC Key Distribution Center<br />
KDE K Desktop Environment<br />
KLR Kosten- und Leistungsrechnung<br />
KMS Key Management Server<br />
KN Kosten/Nutzen<br />
kWh Kilowattstunde<br />
kw-Stelle „künftig wegfallend― Stelle<br />
LAMP Linux, Apache, MySQL, PHP<br />
LAN Local Area Network<br />
Seite 513
LANANA Linux Assigned Names and Numbers Authority<br />
LDAP Lightweight Directory Access Protocol<br />
LDIF LDAP Data Interchange Format<br />
LGPL Lesser General Public License<br />
Li18nux Linux Internationalization Initiative<br />
LM LAN Manager<br />
LMRepl Verzeichnisreplikationsdienst<br />
LPD Line Printing Daemon<br />
LPI Linux Professional Institute<br />
LPR Line Printing Redirector<br />
LSA Local Security Authority<br />
LSB Linux Standard Base<br />
LTSP Linux Terminal Server Project<br />
LVM Logical Volume Manager<br />
LVS Linux Virtual Server<br />
MAC Media Access Control<br />
MAPI Messaging Application Programming Interface<br />
MB Megabyte<br />
MDX Message Digest X<br />
MFT Master File Table<br />
MIME Multipurpose Internet Mail Extension<br />
MLP Message/Multilayer Link Protocol<br />
MMC Microsoft Management Console<br />
MMQS Microsoft Message Queue Server<br />
MOM Microsoft Operation Manager<br />
MPL Mozilla Public License<br />
MRTG/RRD Multi Router Traffic Grapher/Round Robin Database<br />
MS Microsoft<br />
MSMQ Microsoft Message Queuing<br />
MSPS Microsoft Proprietary Standards<br />
MT Manntage<br />
MTA Message Transfer Agent<br />
MTBF mean time between failure<br />
MTS Microsoft Transaction Server<br />
Seite 514
MTTR Mean Time To Repair<br />
NAS Network Attached Storage<br />
NAT Network Address Translation<br />
NCSA National Center for Supercomputing Application<br />
NDS Novell Directory Service<br />
NetBEUI NetBIOS Extended User Interface<br />
NetBIOS Network Basic Input and Output System<br />
NetBT NetBIOS over TCP/IP<br />
NFS Network File System<br />
NIS Network Information Service<br />
NLD Novell Linux Desktop<br />
NNTP Network News Transport Protocol<br />
NPL Netscape Public License<br />
NSS Name Service Switch<br />
NTDS NT Directory Service<br />
NTFS NT File System<br />
NTFS4 NT File System 4<br />
NTFS5 New Technology File System 5<br />
NTLM Windows NT LAN Manager<br />
NTLMv2 Windows NT LAN Manager <strong>Version</strong> 2<br />
NTP Network Time Protocol<br />
ODBC Open Database Connectivity<br />
ODF Open Document Format<br />
OGo OpenGroupware.org<br />
OLAP Online Analytical Processing<br />
OLE Object Linking and Embedding<br />
OMG Object Management Group<br />
OMPM Office Migration Planning Manager<br />
OOo OpenOffice.org<br />
OOo/SO Open Office.org/StarOffice<br />
OOXML Office Open XML<br />
OpenLDAP Open Lightweight Directory Access Protocol (LDAP)<br />
ORB Object Request Broker<br />
OSI Open Systems Interconnection<br />
Seite 515
OSOS Open Standards mit Open Source<br />
OSS Open Source Software<br />
OU Organizational Unit<br />
OWA Outlook Web Access<br />
PAM Pluggable Authentication Module<br />
PatG Patentgesetz<br />
PBS Portable Batch System<br />
PBX Private Branch Exchanger<br />
PC Personalcomputer<br />
PCL Printer Control Language<br />
PDA Personal Digital Assistant<br />
PDC Primary Domain Controller<br />
PDF Portable Document Format<br />
Perl Practical Extraction and Report Language<br />
PHP PHP Hypertext Pre-processor<br />
PIM Personal Information Manager<br />
PKI Public Key Infrastructure<br />
PM Projektmanagement<br />
POP3 Post Office Protocol <strong>Version</strong> 3<br />
POSIX Portable Operating System Interface for UNIX<br />
PPD PostScript Printer Descriptions<br />
ProdHaftG Produkthaftungsgesetz<br />
PS Projektsicht<br />
PT Personentage<br />
PXE Pre-Boot Execution Environment<br />
QS Qualitätssicherung<br />
RAC Real Application Cluster<br />
RAID Redundant Array of Inexpensive/Independent Discs<br />
RAM Random Access Machine/Memory<br />
RAS Remote Access Service<br />
RAW Read After Write<br />
RDBMS Relationales Datenbank Management System<br />
RDP Remote Desktop Protocol<br />
ReiserFS Reiser File System<br />
Seite 516
RFCs Request for Comments<br />
RHCE Red Hat Certified Engineer<br />
RHD Red Hat Desktop<br />
RHN Red Hat Network<br />
RID Relative Identifier<br />
RISC Reduced Instruction Set Computer<br />
RMI Remote Method Invocation<br />
RMS Rights Management Services<br />
RPC Remote Procedure Calls<br />
RPM Red Hat Packet Management<br />
Rz. Randziffer<br />
S. Seite<br />
S/MIME Secure MIME (Multipurpose Internet Mail Extensions)<br />
SA System Attendant<br />
SACL System Access Control List<br />
SAGA Standards und Architekturen für E-Government-Anwendungen<br />
SAM Security Accounts Manager<br />
SAN Storage Area Network<br />
SASL Simple Authentication and Security Layer<br />
SBS Small Business Server<br />
SC Samsung Contact<br />
SCCM System Center Configuration Manager<br />
SCM Security Configuration Manager<br />
SCOM System Centre Operations Manager<br />
SCS Sun Control Station<br />
SCSI Small Computer System Interface<br />
SDB Simple Database Backend<br />
SDBC Star Database Connectivity<br />
SDK Software Developer Kit<br />
SFU Service for UNIX<br />
SID Security Identifier<br />
SISL Sun Industry Source License<br />
SLAs Service Level Agreements<br />
SLOX Suse Linux Openexchange<br />
Seite 517
SMB Server Message Block<br />
SMS Short Message Service<br />
SMS System Management Server<br />
SMTP Simple Mail Transfer Protocol<br />
SNA Storage Network Attached<br />
SNMP Simple Network Management Protocol<br />
SO StarOffice<br />
SOAP Simple Object Access Protocol<br />
SPM Standard TCP/IP Port Monitor<br />
SPX Sequenced Packet Exchange<br />
SQL Structured Query Language<br />
SQL-DMO SQL Distributed Management Objects<br />
SRS Standard Replication Service<br />
SSH Secure Shell<br />
SSL Secure Sockets Layer<br />
SSL/TLS Secure Sockets Layer / Transport Layer Security<br />
SSO Single Sign-On<br />
SUS Java System Update Service<br />
SVG Scalable Vector Graphic<br />
SW Software<br />
SWA Scalix Web Access<br />
SWAP Simple Workgroup Access Protocol<br />
SWAT Samba Web Administration Tool<br />
TB Terabyte<br />
TCL Tool Command Language<br />
TCO Total Costs of Ownership<br />
TCP/IP Transmission Control Protocol / Internet Protocol<br />
TDS Tabular Data Stream<br />
TGS Ticket Granting Service<br />
TGT Ticket Granting Ticket<br />
TLS Transport Layer Security<br />
TNEF Transport Neutral Encapsulation Format<br />
TTS Trouble Ticket System<br />
u. a. unter anderem<br />
Seite 518
u. ä. und ähnliches<br />
u. U. unter Umständen<br />
UCS Univention Corporate Server<br />
UDDI Universal Description, Discovery and Integration<br />
UDP User Datagram Protocol<br />
UfAB Unterlage für die Ausschreibung und Bewertung von IT-Leistungen<br />
UGS Univention Groupware Server<br />
UHD User Help Desks<br />
UI User Interface<br />
UNC Uniform Naming Convention<br />
UNO Universal Network Objects<br />
UrhG Urheberrechtsgesetz<br />
URL Uniform Resource Locator<br />
USB Universal Serial Bus<br />
USN Unique Sequence Number<br />
usw. und so weiter<br />
Var. Variante<br />
VBA Visual Basic for Applications<br />
VBS Visual Basic Scripting Edition<br />
VBScript Visual Basic Script<br />
VFS Virtual File System<br />
VLDB Very Large Database<br />
VMX Vintela Management Extensions<br />
VOL Verdingungsordnung für Leistungen<br />
VOL/A Verdingungsordnung für Leistungen/ Teil A Allgemeine Bestimmungen<br />
für die Vergabe von Leistungen<br />
VPN Virtual Private Network<br />
vs. versus<br />
VSF Vorschriftensammlung der Bundesfinanzverwaltung<br />
VV Verwaltungsvorschrift<br />
W2K Windows 2000<br />
W3C World Wide Web Consortiums<br />
WAN Wide Area Network<br />
WAP Wireless Application Protocol<br />
Seite 519
WBEM Web Based Enterprise Management<br />
WebDAVS Web Document Authoring And <strong>Version</strong>ing<br />
WiBe Wirtschaftlichkeitsbetrachtung<br />
WINS Windows Internet Name Service<br />
WMI Windows Management Instrumentation<br />
WSDL Web-Services Description Language<br />
WSH Windows Sripting Host<br />
WWW World Wide Web<br />
WYSIWYG what you see is what you get<br />
XFS Extended File System<br />
XHTML eXtensible HyperText Markup Language<br />
XML Extensible Markup Language<br />
XPS XML Paper Specification Format<br />
XSL Extensible Style Sheet Language<br />
XSLT Extensible Stylesheet Language for Transformations<br />
YaST Yet another Setup Tool<br />
z. B. zum Beispiel<br />
z. T. zum Teil<br />
Seite 520
B Glossar<br />
.NET .NET ist die Bezeichnung für die aktuelle Programmierumgebung von Microsoft.<br />
Sie besteht aus verschiedenen Frameworks (Klassenbibliotheken),<br />
einer virtuellen Laufzeitumgebung (ähnlich der Java Virtual Maschine) und<br />
einer Entwicklungsumgebung (Visual Studio .NET). .NET unterstützt mehrere<br />
Programmiersprachen. Dazu gehören C#, C++, J# und Visual Basic.<br />
ACL Eine Access Control List ist eine Liste mit Zugriffsrechten. Anhand dieser<br />
Listen erfolgt die Zugriffsteuerung auf die Ressourcen des IT-Systems.<br />
Anhand der ACLs entscheidet das System, welchen Zugriff ein Benutzer<br />
auf eine Ressource, zum Beispiel ein Verzeichnis, hat.<br />
ActiveX Sammelbegriff für eine von Microsoft eingeführte Technologie, die (inter)aktive<br />
Inhalte auf Webseiten ermöglicht. Der Browser lädt ActiveX-<br />
Programmteile vom Server herunter und führt sie auf dem PC des Benutzers<br />
aus. ActiveX wurde von Microsoft als Alternative zu Java-Applets<br />
entwickelt.<br />
ADO ADO steht für Active Data Objects und ist eine High-Level Schnittstelle<br />
(zum Beispiel aus Visual Basic) für den allgemeinen Datenzugriff von Microsoft<br />
über einen OLE DB Provider (zum Beispiel für SQL Server, ODBC,<br />
Oracle, Active Directory Service, u.a.). ADO enthält Objekte für das Erstellen<br />
einer Verbindung zu einer Datenquelle, für Lese-, Update-, Schreib-<br />
und Löschoperationen.<br />
API Application Programming Interface (Definierte Programmierschnittstelle,<br />
die für die Integration und Erweiterung genutzt werden kann)<br />
ASP Steht für Active Server Pages; ist das Microsoft-Konzept für die serverseitige<br />
Generierung (zum Beispiel mit JavaScript, Visual Basic Script) dynamischer<br />
Web-Seiten (s.a. JSP).<br />
ATM Asynchronous Transfer Mode (ATM) ist eine Technologie, bei der der Datenverkehr<br />
in kleine Pakete, Zellen genannt, mit fester Länge (53 Byte)<br />
codiert und über asynchrones Zeitmultiplexing übertragen wird. Die Zellen-Technik<br />
hat im Vergleich zu Übertragungstechniken mit variabler Paketgröße<br />
(zum Beispiel Ethernet) den Vorteil, dass die Zellen durch sogenanntes<br />
Zell-Relay (ähnlich Frame Relay) effizienter weitergeleitet werden<br />
können.<br />
BOOTP Das Bootstrap Protocol (BOOTP) dient dazu, einem Computer in einem<br />
TCP/IP-Netzwerk eine IP-Adresse und eine Reihe von weiteren Parametern<br />
zuzuweisen.<br />
Verwendet wird BOOTP zum Beispiel zur Einstellung der Netzwerkadresse<br />
von Terminals und plattenlosen Workstations, die ihr Betriebssystem<br />
von einem Bootserver beziehen. Die Übertragung des Betriebsprogramms<br />
geschieht dann üblicherweise über das TFTP-Protokoll. Daneben können<br />
einige Peripheriegeräte wie beispielsweise Netzwerkdrucker das BOOTP-<br />
Protokoll zur Ermittlung ihrer IP-Adresse und Netzwerkkonfiguration (Sub-<br />
Seite 521
netz/Gateway) verwenden.<br />
Früher wurde das RARP-Protokoll zur Ermittlung der IP-Adresse bei plattenlosen<br />
Geräten verwendet. Im Gegensatz zu RARP, das ausschließlich<br />
die IP-Adresse liefert, besitzt BOOTP eine ganze Reihe von Parametern,<br />
insbesondere können Subnetzmaske, Gateway sowie Bootserver übermittelt<br />
werden. Zur Konfiguration von Workstations und PCs reichen diese<br />
jedoch nicht aus, da hier zusätzliche Einstellungen wie Drucker, Zeitserver<br />
und andere nötig sind. Das DHCP-Protokoll stellt eine Erweiterung der<br />
BOOTP-Parameter dar.<br />
C# Von Microsoft auf Basis von C und C++ entwickelte objektorientierte Programmiersprache.<br />
CGI Das Common Gateway Interface ist die Urvariante der Web-Server-<br />
Schnittstellen. Praktisch jeder aktuelle Web-Server unterstützt dieses<br />
Interface. Anwendungen, die über CGI arbeiten, können mit verschiedenen<br />
Programmiersprachen entwickelt werden. Neben Interpretersprachen<br />
wie beispielsweise PERL können auch kompilierte Anwendungen, die in C<br />
oder C++ geschrieben sind, verwendet werden.<br />
COM Das Component Object Model ist ein Software-Standard von Microsoft,<br />
mit dessen Hilfe die Kommunikation zwischen Prozessen und Programmen<br />
realisiert werden kann. COM definiert dazu eine objektorientierte<br />
Schnittstelle, mit der ein Programm oder eine Software-Komponente<br />
Dienste zur Verfügung stellt.<br />
CORBA CORBA steht für Common Object Request Broker Architecture und wurde<br />
mit dem Ziel geschaffen, eine orts-, plattform- und implementationsunabhängige<br />
Kommunikation zwischen Applikationen zu ermöglichen. CORBA<br />
ist ein offener Standard, der durch die Object Management Group (OMG)<br />
definiert wird.<br />
DCOM Das Distributed Component Object Model ist eine Variante des Microsoft-<br />
Standards COM. Über das Netzwerk können mit DCOM Dienste einer<br />
Software verteilt zur Verfügung gestellt werden. DCOM verwendet zur<br />
Realisierung RPC (Remote Procedure Calls), um mittels Nachrichtenaustausch<br />
Funktionen auf einem anderen Computer aufzurufen.<br />
DDE Dynamic Data Exchange ist eine Technik unter Windows, welche es Anwenderprogrammen<br />
ermöglicht, Daten miteinander auszutauschen. Der<br />
Datenaustausch selbst erfolgt dabei dynamisch. Wird eine der mittels<br />
DDE verbundenen Dateien geändert, erfolgt die Übernahme der Änderung<br />
in alle mit der betreffenden Datei kommunizierenden Dateien automatisch.<br />
DHCP Das Dynamic Host Configuration Protocol schafft die Grundlage zur dynamischen<br />
Vergabe von IP-Adressen. Der DHCP-Client erhält von zentralen<br />
DHCP-Servern dynamisch eine IP-Adresse. Neben den IP-Adressen<br />
können dem Client noch weitere Konfigurationsparameter übergeben<br />
werden.<br />
Seite 522
DNS Das Domain Name System ist ein hierarchisch aufgebautes System für<br />
die Vergabe von Namen für an das Internet/Intranet angeschlossene<br />
Rechner.<br />
DTD Dokument-Typ-Definitionen definieren formal die Struktur eines XML-<br />
Dokuments. Sie geben die Syntax vor, die für einen bestimmten Dokument-Typ<br />
(und somit auch für ein bestimmtes Datenformat) gelten sollen.<br />
Emulation Fähigkeit eines Systems beziehungsweise eines Programms, die Arbeitsweise<br />
eines anderen Computersystems mit Hardware- oder Softwaremitteln<br />
nachzuahmen.<br />
Failover Ist die spezifische Betriebsweise von Hard- oder Software, z. B. einer Datenbank,<br />
eines Servers oder eines Netzwerks, die so konfiguriert sind,<br />
dass ihre Dienste bei einem vorübergehenden Systemausfall automatisch<br />
von einem System mit ähnlicher oder gleicher Funktionsweise übernommen<br />
werden.<br />
GGO Die Bundesregierung hat am 26. Juli 2000 die neue Gemeinsame Geschäftsordnung<br />
der Bundesministerien (GGO) beschlossen. Die Zusammenarbeit<br />
und Organisation der Bundesministerien sowie die Vorbereitung<br />
von Gesetzesentwürfen werden damit umfassend modernisiert. Verwaltungsabläufe<br />
werden künftig schneller und einfacher. Neu aufgenommen<br />
sind die erweiterten Möglichkeiten für den Einsatz moderner Informationstechnik.<br />
Die novellierten Regelungen setzen zudem auf zeitgemäße<br />
Steuerungs- und Führungsinstrumente, wie sie aus der Wirtschaft bekannt<br />
sind.<br />
HTML Hypertext Markup Language – der offene Standard beziehungsweise das<br />
Dateiformat für die Darstellung von Inhalten im Internet beziehungsweise<br />
Intranet.<br />
HTTP Standard für die elektronische Interaktion bei der Übertragung von Web-<br />
Dokumenten ins Internet.<br />
IMAP Mit dem Internet Mail Access Protocol lassen sich E-Mail-Postfächer verwalten.<br />
Im Gegensatz zu POP3 verwaltet IMAP die Mail auf dem Server.<br />
Beim Start des Mail-Programms werden standardmäßig nur die Kopfdaten<br />
(Absender, Betreff und Eingangszeit) geladen. Jetzt können Mails vom<br />
Adressaten gezielt ausgewählt und komplett heruntergeladen werden. Eine<br />
Mail, die auf dem Server verbleiben soll, kann dort in besonderen Ordnern<br />
abgelegt werden.<br />
IPsec Ein Standard für Netzwerksicherheitslösungen, der sich vor allem für die<br />
Implementierung von VPNs sowie den Fernzugriff auf private Netzwerke<br />
über Wählverbindungen eignet.<br />
IPv6 Ist die neue <strong>Version</strong> 6 des Internet-Protokolls (IP), bei der die IP-Adressen<br />
aus 128 statt 32 Bit wie beim IPv4 bestehen sollen. U. a. werden dadurch<br />
mehr Adressierungsmöglichkeiten für Websites geschaffen.<br />
IPX Ein von der Firma Novell definierter Standard für die Datenübertragung.<br />
Seite 523
J2EE Java 2 Enterprise Edition (J2EE) ist ein Oberbegriff für verschiedene Konzepte<br />
und Java-basierte Komponenten, die insbesondere bei dem Betrieb<br />
von J2EE-Application-Servern genutzt werden.<br />
Neben der Client-seitigen Kommunikation mit J2EE-Application-Servern,<br />
die meist mit einem Browser erfolgt, unterstützt J2EE auch eine Kommunikation<br />
zwischen Anwendungskomponenten (Applications). Für die anwendungsseitige<br />
Kommunikation können verschiedene Techniken eingesetzt<br />
werden: XML-basierte Web-Services, CORBA und direkte Aufrufe<br />
aus Java-Programmen.<br />
Java Beans Java Beans sind wieder verwendbare Softwarekomponenten, die in Java<br />
realisiert wurden.<br />
Java Script Eine ursprünglich von der Firma Netscape definierte Skriptsprache zur<br />
Verknüpfung von Programmcode mit statischen HTML-Seiten. In der Regel<br />
erfolgt die Ausführung des Codes im Browser des Benutzers.<br />
Java Von SUN Microsystems entwickelte objektorientierte Programmiersprache,<br />
die vor allem im Bereich der Internettechnologie genutzt wird. Aus<br />
den Quelltexten wird durch einen sogenannten Compiler ein plattformunabhängiger<br />
Zwischencode übersetzt. Dieser kann von einem geeigneten<br />
Interpreter auf beliebigen Rechnern ausgeführt werden. Dadurch können<br />
Java-Programme auf allen Rechnerplattformen laufen, für die ein<br />
passendes Interpreter-Programm existiert.<br />
JDBC Die Java Database Connectivity bietet einen Mechanismus zur Kommunikation<br />
mit bestehenden Datenbanken. Dabei bilden Treiber die Schnittstelle<br />
zwischen dem Java-Programm und der Datenbank.<br />
JSP JavaServer-Pages sind HTML-Dateien mit eingebettetem Java-<br />
Programmcode, die mit Hilfe einer JSP-Engine einmalig in Servlets umgewandelt<br />
und anschließend im Webserver ausgeführt werden. Das Ergebnis<br />
wird dann im normalen HTML-Format an den Client gesendet (s. a.<br />
ASP).<br />
Kerberos Kerberos ist ein Protokoll zur sicheren Authentisierung innerhalb offener<br />
Netze, die zum Beispiel auf dem TCP/IP Protokoll basieren. Bei der Verwendung<br />
von Kerberos erfolgt eine einmalige Anmeldung an einem Key<br />
Distribution Center (KDC, gelegentlich auch als Kerberos Domänencontroller<br />
bezeichnet), welches dem Benutzer zur Authentifizierung gegenüber<br />
den von ihm genutzten Diensten ein Ticket mit definierter Gültigkeitsdauer<br />
zur Verfügung stellt.<br />
LAMP Eine auf Linux, Apache, MySQL und PHP beziehungsweise PERL oder<br />
Python basierende Open Source Plattform für Web-Entwickler und Webanwendungen.<br />
LDAP Das Lightweight Directory Access Protocol (X.509) ist eine vereinfachte<br />
<strong>Version</strong> des DAP (X.500). Mit LDAP werden Zugriffe auf Verzeichnisdienste<br />
realisiert, mit denen z. B. Benutzermerkmale abgefragt werden<br />
können.<br />
Seite 524
Makro Eine Kombination einzelner Anweisungen beziehungsweise eine Folge<br />
von Befehlen und Vorgängen, die festgehalten und gespeichert werden<br />
kann. Wird ein Makro aufgerufen, werden die Vorgänge und Aktionen in<br />
der entsprechenden Reihenfolge automatisch wieder abgearbeitet.<br />
MP3 Standardformat für komprimierte Audiodateien, das im Rahmen der<br />
MPEG vom Fraunhofer-Institut entwickelt wurde und sich vor allem im<br />
Internet verbreitet hat.<br />
MTA Softwarekomponente, die für die Verteilung von E-Mails zwischen verschiedenen<br />
Computersystemen zuständig ist. Ein MTA nimmt Nachrichten<br />
sowohl von anderen MTAs als auch von MUAs entgegen und leitet diese<br />
an die entsprechenden Empfänger weiter.<br />
MUA Der Mail User Agent ist das E-Mail-Programm, das es dem Benutzer ermöglicht,<br />
auf elektronische Nachrichten zuzugreifen, sie anzuzeigen, zu<br />
lesen, zu bearbeiten und zu verwalten.<br />
NDS Die NDS (Novell Directory Services) ist ein hochskalierbarer und redundanter<br />
Verzeichnisdienst, der von Novell mit seinem Betriebssystem Net-<br />
Ware 4.x eingeführt wurde.<br />
NTP Das Network Time Protocol dient dazu die Uhrzeiten verschiedener Computer<br />
über ein Netzwerk zu synchronisieren. Das NTP ermöglicht eine millisekunden<br />
genaue Einstellung der Rechnerzeiten; ist insbesondere sehr<br />
wichtig für Vorgänge, an denen gleichzeitig mehrere Rechner beteiligt<br />
sind.<br />
ODBC Standardisiertes Verfahren, das den Zugriff auf Datenbanken gewährleistet.<br />
Beispielsweise können Anwendungsprogramme auf Datenbanken unterschiedlichsten<br />
Art mittels ODBC zugreifen.<br />
OLE OLE steht für Objekt Linking and Embedding und ist eine Methode zur<br />
gemeinsamen Nutzung von Informationen. Dabei können die Informationen<br />
in unterschiedlichen Formaten vorliegen und mit unterschiedlichen<br />
Anwendungen erstellt worden sein. Es werden Daten aus einem Quelldokument<br />
mit einem Zieldokument verknüpft beziehungsweise in dieses eingebettet.<br />
Wenn die eingebetteten Daten im Zieldokument markiert werden,<br />
wird wieder die Quell-Anwendung geöffnet, damit die Daten in gewohnter<br />
Umgebung mit den notwendigen Funktionen bearbeitet werden<br />
können. Man spricht auch von „OLE Compound Documents".<br />
OpenLDAP OpenLDAP ist eine Implementierung des LDAP-Protokolls als freie Software.<br />
OpenLDAP wird bei den meisten verbreiteten und aktuellen Linux-<br />
Distributionen zur Verfügung gestellt. Da OpenLDAP den LDAP-Standard<br />
verfolgt, ist es mit OpenLDAP möglich, eine zentrale Benutzerdatenverwaltung<br />
aufzubauen und zentral zu warten.<br />
OSI Internationaler Standard für den Datenaustausch in Netzwerken. OSI wird<br />
in sieben Schichten dargestellt, die jeweils die einzelnen Kommunikationsprozesse<br />
beschreiben.<br />
Seite 525
PDF Plattformübergreifendes Dokumentenformat der Firma Adobe Systems,<br />
mit welchem sich aus Texten, Bildern und Grafiken bestehende Dokumente<br />
erzeugen und darstellen lassen.<br />
Perl Die Practical Extraction and Report Language ist eine frei verfügbare<br />
Programmiersprache, die besonders häufig zum Schreiben von CGI-<br />
Skripten verwendet wird. Durch die vielfältigen Möglichkeiten, insbesondere<br />
auch in der Verarbeitung von Strings, werden Perl-Programme auch<br />
häufig für administrative Routineaufgaben verwendet.<br />
PHP Serverseitige Skriptsprache zur Erstellung datenbankgestützter und dynamischer<br />
Webinhalte.<br />
POP3 Beim Arbeiten mit Post Office Protocol in der <strong>Version</strong> 3 lädt das lokale<br />
Mail-Programm (Client) grundsätzlich nach dem Start alle neue Post vom<br />
Mail-Server auf den lokalen Computer. Normalerweise ist der Client so<br />
konfiguriert, dass die Mail nach dem Download auf dem Server gelöscht<br />
wird.<br />
POSIX Auf UNIX basierender Schnittstellen-Standard gemäß IEEE, der von allen<br />
UNIX-Derivaten unterstützt wird.<br />
PostScript Von der Firma Adobe entwickelte Seitenbeschreibungssprache für die<br />
Steuerung von Druckern. postscriptfähige Drucker erhalten ihre Druckbefehle<br />
von dem jeweiligen Anwendungsprogramm in Form einer standardisierten<br />
Anweisungsfolge; diese interpretiert der entsprechende Drucker<br />
und setzt sie in einen Druckvorgang um.<br />
Prozess Mit dem Begriff Prozess wird in der Informationstechnik der Ablauf eines<br />
Computerprogrammes auf einem Prozessor bezeichnet. Einem Prozess<br />
sind ein Speicherraum und weitere Betriebssystemmittel zugeordnet. Ein<br />
Prozess kann aus einem oder mehreren Threads bestehen, die sich innerhalb<br />
eines Prozesses den Speicher und andere, betriebssystemabhängige<br />
Ressourcen wie Dateien und Netzwerkverbindungen teilen, jedoch<br />
sonst unabhängig voneinander ablaufen. Ein Prozess kann auch aus<br />
genau einem Thread bestehen, wenn bei dem Programmablauf keine Parallelverarbeitung<br />
vorgesehen ist.<br />
RAS Ist die Microsoft-Bezeichnung für Bereitstellung von Dial-Up-Diensten innerhalb<br />
des Microsoft-Betriebssystems.<br />
RDBMS In einem relationalen Datenbank-Managementsystem liegen die Informationen<br />
der Datenbank in Tabellen vor, die zueinander in Relation stehen.<br />
Organisiert nach dem relationalen Modell.<br />
Server Ein Prozess, ein Programm oder ein Computer zur Bearbeitung der Anforderungen<br />
eines Clients beziehungsweise zur Bereitstellung von Diensten,<br />
die von einem Client genutzt werden können.<br />
SQL Stellt die Standard-Abfragesprache für relationale Datenbanken dar.<br />
SSH Ein Protokoll beziehungsweise eine entsprechende Implementierung<br />
(Unix/Linux-Systemen) dieses Protokolls, das den sicheren Zugriff auf an<br />
Seite 526
ein Netzwerk angeschlossene Rechner gewährleistet. Die Implementierung<br />
bietet eine gesicherte Datenübertragung auf ungesicherten Verbindungen<br />
an.<br />
SSL Eine von der Firma Netscape entwickelte Verschlüsselungstechnologie<br />
und ein Protokoll für die sichere Kommunikation beziehungsweise Dokumentenübermittlung<br />
zwischen Webbrowsern und Webservern.<br />
TCP/IP Ein Satz von Netzwerkprotokollen, die innerhalb eines Netzwerkes verwendet<br />
werden, um dem Benutzer eine Reihe von Diensten zur Verfügung<br />
zu stellen. TCP (Transmission Control Protocol) und IP (Internet<br />
Protocol) bieten die Grundlagen über die Formulierung der einzelnen Datenpakete,<br />
deren Versendung und Zustellung.<br />
Thread siehe Prozess<br />
UNO UNO ist ein Komponentenmodell, welches Interoperabilität zwischen unterschiedlichen<br />
Programmiersprachen, unterschiedlichen Objektmodellen,<br />
unterschiedlicher Maschinenarchitekturen und unterschiedlichen Prozessen<br />
schafft. Diese kann in einem LAN oder über das Internet hergestellt<br />
werden. UNO wird von der OpenOffice Community zusammen mit den<br />
Entwicklungslabors von Sun Microsystems entwickelt. Die Basis-<br />
Bibliotheken von UNO sind unabhängig von OpenOffice und StarOffice<br />
und können als Framework für andere Anwendungen eingesetzt werden.<br />
UNO ist frei verfügbar und steht unter der LGPL-Lizenz. Derzeit werden<br />
Java, C und C++ auf Windows, Linux und Solaris unterstützt. (siehe auch<br />
http://udk.openoffice.org/common/man/uno.html)<br />
URL Der Uniform Resource Locator beschreibt eine eindeutige Adresse im<br />
World Wide Web, z. B. „http://www.kbst.bund.de".<br />
VBA Visual Basic for Applications<br />
W3C Das World Wide Web Consortium koordiniert die Entwicklung des WWW<br />
und die Standardisierung von HTML, XML und deren Derivate.<br />
WebDAV Das Web-based Distributed Authoring and <strong>Version</strong>ing ist eine Erweiterung<br />
des Hypertext Transfer Protocol (HTTP) und bietet eine standardisierte<br />
Unterstützung für asynchrones, kollaboratives Erstellen von Inhalten über<br />
das Internet beziehungsweise Intranet.<br />
WINS Microsoft-System zur Namensauflösung innerhalb eines Netzwerkes<br />
(Netzwerknamen IP-Adressen).<br />
XML Eine Spezifikation für die Definition von Sprachen zur Formatierung von<br />
Dokumenten. XML bietet eine strenge Trennung von Inhalten und Design.<br />
XSLT Vom W3C empfohlene Sprache zur Erstellung von Stilvorlagen, die XML-<br />
Strukturen regelbasiert in andere XML-Strukturen umwandeln, z. B. in eine<br />
Seitenbeschreibungssprache wie HTML.<br />
Seite 527
C Abbildungsverzeichnis<br />
Abbildung 1: Struktur des <strong>Migrationsleitfaden</strong> .................................................................. 6<br />
Abbildung 2: Vertragsverhältnisse ................................................................................. 44<br />
Abbildung 3: Regelkreis der Wirtschaftlichkeitsbetrachtung ........................................... 76<br />
Abbildung 4: Beispiel: Personalaufwendungen in den Migrationsphasen....................... 81<br />
Abbildung 5: Beispiel: Gesamtpersonalaufwand ............................................................ 81<br />
Abbildung 6: Beispiel Erhebungsbogen - Infrastruktur der Server .................................. 87<br />
Abbildung 7: Beispiel Erhebungsbogen - Infrastruktur der Arbeitsplatz-Computer ......... 88<br />
Abbildung 8: Beispiel Erhebungsbogen - Infrastruktur des Netzwerks ........................... 89<br />
Abbildung 9: Beispiel Erhebungsbogen - Drucker-Infrastruktur ...................................... 89<br />
Abbildung 10: Beispiel Erhebungsbogen - Erhebungsbogen für<br />
Serverinfrastrukturdienste ...................................................................... 91<br />
Abbildung 11: Beispiel Erhebungsbogen - Standardsoftware ........................................ 91<br />
Abbildung 12: Beispiel Erhebungsbogen - Office ........................................................... 92<br />
Abbildung 13: Beispiel Erhebungsbogen - IT-Fachverfahren – Architektur und Nutzer .. 94<br />
Abbildung 14: Beispiel Erhebungsbogen - IT-Fachverfahren – Client-<br />
/Serverbetriebssysteme .......................................................................... 94<br />
Abbildung 15: Beispiel Erhebungsbogen - IT-Fachverfahren – Datenbanksysteme und<br />
Applikationsserver .................................................................................. 95<br />
Abbildung 16: Beispiel Erhebungsbogen - IT-Fachverfahren – Benutzer-<br />
/Rechteverwaltung und Schnittstellen ..................................................... 95<br />
Abbildung 17: Beispiel Erhebungsbogen - IT-Fachverfahren – Hosting, Verfahrens-<br />
Entwicklung und Ausprägung ................................................................. 96<br />
Abbildung 18: Beispiel Erhebungsbogen - IT-Fachverfahren – Ausblick, Kosten und<br />
Anmerkungen ......................................................................................... 97<br />
Abbildung 19: Methodik WiBe Migrationen .................................................................. 104<br />
Abbildung 20: WiBe - Beispielhafte WiBe Kalkulation 1, Einführungskosten/ -nutzen .. 120<br />
Abbildung 21: Beispielhafte WiBe Kalkulation 2, Betriebskosten/ -nutzen.................... 121<br />
Abbildung 22: Phasen eines Migrationsprozesses ....................................................... 140<br />
Abbildung 23: Entscheidungsprozess zur Durchführung einer Migration ..................... 141<br />
Abbildung 24: Beispiel einer sanften und stufenweisen Migration ................................ 145<br />
Abbildung 25: Beispiel NT-Domänenstruktur ............................................................... 211<br />
Abbildung 26: Beispiel Windows 2000 ......................................................................... 211<br />
Abbildung 27: B-G-L-R Methode ................................................................................. 257<br />
Seite 528
Abbildung 28: B-G-R Methode ..................................................................................... 258<br />
Abbildung 29: Drucken unter CUPSF .......................................................................... 277<br />
Abbildung 30: Allgemein: Drucken unter Windows ...................................................... 287<br />
Abbildung 31: OpenGroupware-Architektur ................................................................. 311<br />
Abbildung 32: Open-Xchange Architektur .................................................................... 316<br />
Abbildung 33: eGroupWare-Architektur ....................................................................... 320<br />
Abbildung 34: Technische Zusammenhänge in Zarafa ................................................ 323<br />
Abbildung 35: LDAP-basierter grafischer Benutzer-Editor ........................................... 325<br />
Abbildung 36: Scalix-Plattform ..................................................................................... 333<br />
Abbildung 37: Scalix-Clientsysteme ............................................................................. 334<br />
Abbildung 38: Scalix – <strong>Version</strong>en/Funktionsüberblick .................................................. 335<br />
Abbildung 39: Scalix- Integration ................................................................................. 336<br />
Abbildung 40: Zusammenspiel der Server Rollen ........................................................ 338<br />
Abbildung 41: Notes Architektur .................................................................................. 341<br />
Abbildung 42: Architektur Mindquarry .......................................................................... 358<br />
Abbildung 43: Beziehung zwischen MSS <strong>3.0</strong> und MOSS 2007 .................................... 365<br />
Abbildung 44: logische Architektur – SharePoint ......................................................... 366<br />
Abbildung 45: Topologien von Sharepoint Server Farmen ........................................... 366<br />
Abbildung 46: Funktionalität von MOSS 2007 ............................................................. 371<br />
Abbildung 47: Funktionalitäten der verschiedenen SharePoint Editionen .................... 372<br />
Abbildung 48: Grundlegende SharePoint Site-Struktur ................................................ 374<br />
Abbildung 49: Metadaten eines Dokumentes im Browser ............................................ 376<br />
Abbildung 50: Word 2007 (Datei --> Eigenschaften) .................................................... 376<br />
Abbildung 51: Workflow Tool - SharePoint Designer ................................................... 379<br />
Abbildung 52: Workflow Entwicklung mit Visual Studio ................................................ 380<br />
Abbildung 53: Template Management Module............................................................. 388<br />
Abbildung 54: Funktionen von ICEcore OSS, Novell Teaming + Conferencing und<br />
ICEcore Add-On Modulen .................................................................... 391<br />
Abbildung 55: Architektur des Novell Teamingsoftwarepakets ..................................... 393<br />
Abbildung 56: Enterprise Admin Portlet ....................................................................... 395<br />
Abbildung 57: Architektur Novell Conferencing ............................................................ 396<br />
Abbildung 58: Oberfläche der Administrationsschnittstelle zu Novell Conferencing ..... 398<br />
Abbildung 59: Workflow gesteuerte Collaboration ....................................................... 399<br />
Abbildung 60: Erweiterte Suche Novell Teaming ......................................................... 401<br />
Seite 529
Abbildung 61: Zustandsübergänge im Novell Teaming Workflow ................................ 403<br />
Abbildung 62: Grafische Darstellung eines Workflows in Novell Teaming .................... 403<br />
Abbildung 63 Dokumente im HTML-Format darstellen ................................................ 404<br />
Abbildung 64: Der Navigator in OpenOffice.org Writer................................................. 426<br />
Abbildung 65: Natürlichsprachige Formeln in OpenOffice.org Calc.............................. 426<br />
Abbildung 66: VBA in der Office Anwendung ............................................................... 442<br />
Abbildung 67: Benutzeroberfläche für das Arbeiten mit XML-Schemas<br />
in MS Word 2007.................................................................................. 446<br />
Abbildung 68: Datensatz nach dem XML-Schema „Antrag Geburtsurkunde― ............... 447<br />
Abbildung 69: Binär kodierte Excel Tabelle in altem WordprocessingML ..................... 450<br />
Abbildung 70: Architektur des Dokumentengenerators ................................................ 463<br />
Abbildung 71: Externe Datenfelder nach Export in MS-Word Dokument...................... 468<br />
Abbildung 72: Komponenten des .NET-Frameworks ................................................... 474<br />
Abbildung 73: Strukturelle Sicht - Mehrschichtenarchitektur ........................................ 478<br />
Abbildung 74: Katalog monetäre Kriterien der WiBe für Migrationen<br />
– Entwicklungs-/Einführungskosten und -nutzen .................................. 536<br />
Abbildung 75: Katalog monetäre Kriterien der WiBe für Migrationen<br />
– Betriebskosten und -nutzen ............................................................... 537<br />
Abbildung 76: Katalog nicht-monetäre Kriterien der WiBe für Migrationen<br />
– Dringlichkeit ....................................................................................... 538<br />
Abbildung 77: Gewichtungsskala für Dringlichkeitskriterien ......................................... 538<br />
Abbildung 78: Katalog nicht-monetäre Kriterien der WiBe für Migrationen<br />
– Qualität/ Strategie .............................................................................. 539<br />
Abbildung 79: Gewichtungsskala für Qualitätskriterien ................................................ 539<br />
Abbildung 80: Matrix zur Soft- und Hardware-Kostenermittlung ................................... 540<br />
Seite 530
D Tabellenverzeichnis<br />
Tabelle 1: Auswirkungen von Integration und Standardisierung auf ausgewählte Ziele<br />
einer Behörde ......................................................................................... 32<br />
Tabelle 2: Übersicht der Komponenten und Protokolle der Beispiele für<br />
Integrationslösungen .............................................................................. 38<br />
Tabelle 3: Beurteilung des Integrationsgrades der Beispiellösungen ............................. 39<br />
Tabelle 4: Relevanz der OSS-Lizenzen für Nutzer ........................................................ 45<br />
Tabelle 5: Vertragsverhältnisse Nutzer-Zwischenhändler .............................................. 47<br />
Tabelle 6: Anwendbares Recht ...................................................................................... 49<br />
Tabelle 7 Urheberrechtliche Fragen: ............................................................................. 57<br />
Tabelle 8: Vertragliche Ansprüche auf Haftung und Gewährleistung gegen den<br />
Zwischenhändler .................................................................................... 62<br />
Tabelle 9: Migrationsphasen.......................................................................................... 80<br />
Tabelle 10: Erhebungsstruktur Preisinformationen Hard-/ Software - Server ................. 82<br />
Tabelle 11: Erhebungsstruktur Preisinformationen Hard-/ Software -<br />
Arbeitsplatzcomputer .............................................................................. 83<br />
Tabelle 12: Erhebungsstruktur Preisinformationen Hard-/ Software -<br />
Arbeitsplatzcomputer .............................................................................. 86<br />
Tabelle 13: Klassifizierung von Dokumentvorlagen und Makros .................................... 92<br />
Tabelle 14: Informationscluster für die Erhebung der IT-Fachverfahren......................... 93<br />
Tabelle 15: Punktbewertungsskala Unterstützungskontinuität Altsystem ..................... 122<br />
Tabelle 16: Punktbewertungsskala Fehler und Ausfälle („downtime―) .......................... 123<br />
Tabelle 17: Punktbewertungsskala Wartungsprobleme, Personalengpässe ................ 123<br />
Tabelle 18: Punktbewertungsskala Ausbau-/Erweiterungsgrenzen .............................. 123<br />
Tabelle 19: Punktbewertungsskala Interoperabilität, Schnittstellenprobleme<br />
aktuell/zukünftig ................................................................................... 124<br />
Tabelle 20: Punktbewertungsskala Bedienbarkeit und Ergonomie<br />
(Benutzerfreundlichkeit)........................................................................ 124<br />
Tabelle 21: Punktbewertungsskala Einhaltung gesetzlicher Vorgaben ........................ 124<br />
Tabelle 22: Punktbewertungsskala Erfüllung von Datenschutz/ -sicherheit .................. 125<br />
Tabelle 23: Punktbewertungsskala Ordnungsmäßigkeit der Arbeitsabläufe ................. 126<br />
Tabelle 24: Punktbewertungsskala Erfüllung von Auflagen und Empfehlungen ........... 126<br />
Tabelle 25: Punktbewertungsskala Bedeutung innerhalb IT- Rahmenkonzept ............ 127<br />
Seite 531
Tabelle 26: Punktbewertungsskala Einpassung in den IT-Ausbau der Bundesverwaltung<br />
insgesamt ............................................................................................. 128<br />
Tabelle 27: Punktbewertungsskala Folgewirkung für Kommunikationspartner ............. 128<br />
Tabelle 28: Punktbewertungsskala Pilot-Projekt-Charakter des IT-Investitionsvorhabens<br />
............................................................................................................. 129<br />
Tabelle 29: Punktbewertungsskala Nachnutzung bereits vorhandener Technologien .. 130<br />
Tabelle 30: Punktbewertungsskala Plattform-/Herstellerunabhängigkeit ...................... 131<br />
Tabelle 31: Punktbewertungsskala Qualitätsverbesserung bei der Aufgabenabwicklung<br />
............................................................................................................. 132<br />
Tabelle 32: Punktbewertungsskala Beschleunigung von Arbeitsabläufen und -prozessen<br />
............................................................................................................. 132<br />
Tabelle 33: Punktbewertungsskala Einheitliches Verwaltungshandeln ........................ 133<br />
Tabelle 34: Punktbewertungsskala Verständlichkeit und Nachvollziehbarkeit .............. 133<br />
Tabelle 35: Punktbewertungsskala Imageverbesserung .............................................. 134<br />
Tabelle 36: Punktbewertungsskala Attraktivität der Arbeitsbedingungen ..................... 134<br />
Tabelle 37: Punktbewertungsskala Qualifikationssicherung/ -erweiterung ................... 135<br />
Tabelle 38: Apache-Module ......................................................................................... 178<br />
Tabelle 39: Funktionen von OpenLDAP unter Linux .................................................... 192<br />
Tabelle 40: RFCs in denen DNS spezifiziert wird ........................................................ 227<br />
Tabelle 41: Übersicht der unterstützten DNS Resource Record Typen ....................... 229<br />
Tabelle 42: Übersicht der DHCP Optionen .................................................................. 233<br />
Tabelle 43: POSIX-Berechtigungen und Windows-Aggregationen............................... 245<br />
Tabelle 44: POSIX- und Windowsberechtigungen ....................................................... 246<br />
Tabelle 45: Eigenschaften der Windows Sammelberechtigungen................................ 255<br />
Tabelle 46: Windows Attribute ..................................................................................... 255<br />
Tabelle 47: Vergleich der Dateiserver .......................................................................... 264<br />
Tabelle 48: Lizensierung der Microsoft System-Management-Komponenten............... 301<br />
Tabelle 49: Mögliche Komponenten der Open-Xchange-Lösung ................................. 317<br />
Tabelle 50: Auswahl an eGroupWare-Modulen ........................................................... 321<br />
Tabelle 51: Zarafa Komponenten ................................................................................ 324<br />
Tabelle 52: Zentrale Kolab-Server-Komponenten ........................................................ 327<br />
Tabelle 53: Optionale Kolab Server-Komponenten ...................................................... 327<br />
Tabelle 54: Mögliche Migrations- und Transitionspfade ............................................... 348<br />
Tabelle 55: Funktionen von Mindquarry ....................................................................... 363<br />
Tabelle 56: SharePoint-Historie ................................................................................... 364<br />
Seite 532
Tabelle 57: Beispiele für Autorisierungsgruppen in SharePoint ................................... 369<br />
Tabelle 58: Produktfunktionsmatrix.............................................................................. 373<br />
Tabelle 59: Funktionen O3Spaces Workplace ............................................................. 389<br />
Tabelle 60: O3Space – Funktionen in den verschiedenen Editionen ........................... 390<br />
Tabelle 61: Novell Teaming Funktionen....................................................................... 400<br />
Tabelle 62: Novell Conferencing Funktionen ............................................................... 405<br />
Tabelle 63: Systemkomponenten und –voraussetzungen Lotus Quickr 8 .................... 410<br />
Tabelle 64: Funktionen von Lotus Quickr Services für Domino .................................... 416<br />
Tabelle 65: Funktionen von Lotus Quickr Services für WebSphere Portal ................... 420<br />
Tabelle 66: Datei-Endungen von ODF-Dokumenten .................................................... 430<br />
Tabelle 67: Import- und Exportmöglichkeiten in OOo /SO ........................................... 430<br />
Tabelle 68: Überblick der Charakteristika von OOo 1/SO 7 und OOo 2/SO 8 .............. 435<br />
Tabelle 69: Anwendungen in den jeweiligen Suiten für MS Office 2007;...................... 437<br />
Tabelle 70: Microsoft Office <strong>Version</strong>en und zugehörige <strong>Version</strong>en von VBA ............... 442<br />
Tabelle 71: Überblick der Charakteristika von MS Office 2007 und Office 97 - 2003 ... 451<br />
Tabelle 72: Mögliche Konvertierungsprobleme ............................................................ 461<br />
Tabelle 73: Kompatibilitätsmodus bei MS Office 2007 ................................................. 465<br />
Tabelle 74: Verfügbare Dokumentenformatfilter in SO 8/OOo 2 .................................. 470<br />
Tabelle 75: Vorteile von Terminal-Servern und Thin Clients ........................................ 491<br />
Tabelle 76: Ausgewählte Nachteile von Terminal-Servern und Thin Clients ................ 492<br />
Tabelle 77: Übersicht der Funktionen verschiedener Terminalserverlösungen ............ 502<br />
Seite 533
E Anhang –WiBe für Migrationen<br />
1 Kriterienkatalog WiBe für Migrationen<br />
WiBe<br />
Migrationen<br />
Bezeichnung Kriterien für Migrationen<br />
Monetäre Kriterien WiBe<br />
1 Entwicklungskosten/ Einführungskosten und -nutzen<br />
1.1 Zur Ermittlung der Entwicklungskosten<br />
1.1.1 Planungs- und Entwicklungskosten<br />
1.1.1.1 Personalkosten (eigenes Personal)<br />
1.1.1.2 Kosten Externer Beratung<br />
1.1.1.3 Kosten der Entwicklungsumgebung<br />
1.1.1.4 Sonstige Kosten für Sach-/Hilfsmittel<br />
1.1.1.5 Reisekosten (eigenes Personal)<br />
1.1.2 Systemkosten<br />
1.1.2.1 Hardwarekosten<br />
1.1.2.1.1 Host/ Server, Netzbetrieb<br />
1.1.2.1.2 Arbeitsplatzrechner<br />
1.1.2.2 Softwarekosten<br />
1.1.2.2.1 Kosten für Entwicklung bzw. Beschaffung von Software<br />
1.1.2.2.2 Kosten für Anpassung von Software und/oder Schnittstellen, Treiber<br />
1.1.2.2.3 Kosten für Evaluierung, Zertifizierung und Qualitätssicherung<br />
1.1.3 Kosten der Systemeinführung<br />
1.1.3.1 System- und Integrationstest(s)<br />
1.1.3.2 Kosten der Systeminstallation<br />
1.1.3.3 Übernahme von Datenbeständen<br />
1.1.3.4 Erstschulung Anwender und IT-Fachpersonal<br />
1.1.3.5 Einarbeitungskosten Anwender und IT-Fachpersonal<br />
1.1.3.6 Sonstige Umstellungskosten<br />
1.2 Entwicklungs-/Einführungsnutzen aus Ablösung des alten<br />
Verfahrens<br />
1.2.1 Einmalige Kosteneinsparungen (Vermeidung von Erhaltungs-/<br />
Erweiterungskosten Altsystem)<br />
1.2.2 Einmalige Erlöse (aus Verwertung Altsystem)<br />
Abbildung 74: Katalog monetäre Kriterien der WiBe für Migrationen – Entwicklungs-<br />
/Einführungskosten und -nutzen<br />
Seite 534
WiBe<br />
Migrationen<br />
Bezeichnung Kriterien für Migrationen<br />
Monetäre Kriterien WiBe<br />
1 Entwicklungskosten/ Einführungskosten und -nutzen<br />
1.1 Zur Ermittlung der Entwicklungskosten<br />
1.1.1 Planungs- und Entwicklungskosten<br />
1.1.1.1 Personalkosten (eigenes Personal)<br />
1.1.1.2 Kosten Externer Beratung<br />
1.1.1.3 Kosten der Entwicklungsumgebung<br />
1.1.1.4 Sonstige Kosten für Sach-/Hilfsmittel<br />
1.1.1.5 Reisekosten (eigenes Personal)<br />
1.1.2 Systemkosten<br />
1.1.2.1 Hardwarekosten<br />
1.1.2.1.1 Host/ Server, Netzbetrieb<br />
1.1.2.1.2 Arbeitsplatzrechner<br />
1.1.2.2 Softwarekosten<br />
1.1.2.2.1 Kosten für Entwicklung bzw. Beschaffung von Software<br />
1.1.2.2.2 Kosten für Anpassung von Software und/oder Schnittstellen, Treiber<br />
1.1.2.2.3 Kosten für Evaluierung, Zertifizierung und Qualitätssicherung<br />
1.1.3 Kosten der Systemeinführung<br />
1.1.3.1 System- und Integrationstest(s)<br />
1.1.3.2 Kosten der Systeminstallation<br />
1.1.3.3 Übernahme von Datenbeständen<br />
1.1.3.4 Erstschulung Anwender und IT-Fachpersonal<br />
1.1.3.5 Einarbeitungskosten Anwender und IT-Fachpersonal<br />
1.1.3.6 Sonstige Umstellungskosten<br />
1.2 Entwicklungs-/Einführungsnutzen aus Ablösung des alten<br />
Verfahrens<br />
1.2.1 Einmalige Kosteneinsparungen (Vermeidung von Erhaltungs-/<br />
Erweiterungskosten Altsystem)<br />
1.2.2 Einmalige Erlöse (aus Verwertung Altsystem)<br />
Abbildung 75: Katalog monetäre Kriterien der WiBe für Migrationen – Betriebskosten und -nutzen<br />
Seite 535
WiBe<br />
Migrationen<br />
Bezeichnung Kriterien für Migrationen<br />
Nicht-Monetäre Kriterien WiBe<br />
3 Dringlichkeits-Kriterien<br />
3.1 Ablösedringlichkeit Altsystem<br />
3.1.1 Unterstützungs-Kontinuität Altsystem<br />
3.1.2 Stabilität Altsystem<br />
3.1.2.1 Fehler und Ausfälle („downtime―)<br />
3.1.2.2 Wartungsprobleme, Personalengpässe<br />
3.1.3 Flexibilität Altsystem<br />
3.1.3.1 Ausbau-/Erweiterungsgrenzen<br />
3.1.3.2 Interoperabilität, Schnittstellenprobleme aktuell/zukünftig<br />
3.1.3.3 Bedienbarkeit und Ergonomie (Benutzerfreundlichkeit)<br />
3.2 Einhaltung von Verwaltungsvorschriften und Gesetzen<br />
3.2.1 Einhaltung gesetzlicher Vorgaben<br />
3.2.2 Erfüllung Datenschutz/ -sicherheit<br />
3.2.3 Ordnungsmäßigkeit Arbeitsabläufe<br />
3.2.4 Erfüllung von Auflagen und Empfehlungen<br />
Abbildung 76: Katalog nicht-monetäre Kriterien der WiBe für Migrationen – Dringlichkeit<br />
Nr. Kriterien "D"<br />
3 Dringlichkeits-Kriterien 100<br />
3.1 Ablösedringlichkeit Altsystem 75<br />
3.1.1 Unterstützungs-Kontinuität Altsystem 20<br />
3.1.2 Stabilität Altsystem<br />
3.1.2.1 Fehler und Ausfälle („downtime―) 15<br />
3.1.2.2 Wartungsprobleme, Personalengpässe 15<br />
3.1.3 Flexibilität Altsystem<br />
3.1.3.1 Ausbau-/Erweiterungsgrenzen 10<br />
3.1.3.2 Interoperabilität, Schnittstellenprobleme aktuell/zukünftig 10<br />
3.1.3.3 Bedienbarkeit und Ergonomie (Benutzerfreundlichkeit) 5<br />
3.2 Einhaltung von Verwaltungsvorschriften und Gesetzen 25<br />
3.2.1 Einhaltung gesetzlicher Vorgaben 5<br />
3.2.2 Erfüllung Datenschutz/ -sicherheit 10<br />
3.2.3 Ordnungsmäßigkeit Arbeitsabläufe 5<br />
3.2.4 Erfüllung von Auflagen und Empfehlungen 5<br />
Abbildung 77: Gewichtungsskala für Dringlichkeitskriterien<br />
Seite 536<br />
Gewichtung für<br />
Migrationen
WiBe<br />
Migrationen<br />
Bezeichnung Kriterien für Migrationen<br />
Nicht-Monetäre Kriterien WiBe<br />
3 Dringlichkeits-Kriterien<br />
4 Qualitativ-Strategische -Kriterien<br />
4.1 Priorität des IT-Vorhabens<br />
4.1.1 Bedeutung innerhalb IT-Rahmenkonzept<br />
4.1.2 Einpassung in den IT-Ausbau der Bundesverwaltung<br />
insgesamt<br />
4.1.3<br />
Folgewirkung für Kommunikationspartner<br />
4.1.4 4.1.3 Pilot-Projekt-Charakter des IT-Investitionsvorhabens<br />
4.1.5 4.1.4 Nachnutzung bereits vorhandener Technologien<br />
4.1.6 4.1.5 Plattform-/Herstellerunabhängigkeit<br />
Herstellerunabhängigkeit<br />
4.2 Qualitätszuwachs bei Erledigung von Fachaufgaben<br />
4.2.1 Qualitätsverbesserung bei der Aufgabenabwicklung<br />
(Leistungssteigerung bei …)<br />
4.2.2 Beschleunigung von Arbeitsabläufen und -prozessen<br />
4.2.3 Einheitliches Verwaltungshandeln<br />
Erhöhung von Verständlichkeit und Nachvollziehbarkeit<br />
4.2.4 Imageverbesserung<br />
4.3 Mitarbeiterbezogene Effekte<br />
4.3.1 Attraktivität der Arbeitsbedingungen<br />
4.3.2 Qualifikationssicherung/ -erweiterung<br />
Abbildung 78: Katalog nicht-monetäre Kriterien der WiBe für Migrationen – Qualität/ Strategie<br />
Nr.<br />
Kriterien "Q"<br />
4 Qualitativ-Strategische -Kriterien 100<br />
4.1 Priorität des IT-Vorhabens 40<br />
4.1.1 Bedeutung innerhalb IT- Rahmenkonzept 5<br />
4.1.2 Einpassung in den IT-Ausbau der Bundesverwaltung insgesamt 5<br />
4.1.3 Folgewirkung für Kommunikationspartner 5<br />
4.1.4 Pilot-Projekt-Charakter des IT-Investitionsvorhabens 10<br />
4.1.5 Nachnutzung bereits vorhandener Technologien 5<br />
4.1.6 Herstellerunabhängigkeit 10<br />
Qualitätszuwachs bei Aufgabenerledigung 50<br />
4.2.1 Qualitätsverbesserung bei der Aufgabenabwicklung 15<br />
4.2.2 Beschleunigung von Arbeitsabläufen und -prozessen 10<br />
4.2.3 Einheitliches Verwaltungshandeln 10<br />
4.2.4 Erhöhung von Verständlichkeit und Nachvollziehbarkeit 10<br />
4.2.5 Imageverbesserung 5<br />
Mitarbeiterbezogene Effekte 10<br />
4.3.1 Attraktivität der Arbeitsbedingungen 5<br />
4.3.2 Qualifikationssicherung/ -erweiterung 5<br />
Abbildung 79: Gewichtungsskala für Qualitätskriterien<br />
Seite 537<br />
Gewichtung für<br />
Migrationen
2 Matrix zur Soft- und Hardware-Kostenermittlung<br />
M ig ra tion s o bje k t S yste m ty p P ro d u k t K o m p o ne n te n<br />
… B e ispie le … In ve stitio n s-<br />
K o ste n<br />
S erve r<br />
S o ftw a re<br />
H a rd w a re<br />
In fra stru ktu rd ie n ste D ire cto ry N D S<br />
F ile N e tw a re 4 .1 1<br />
D ruc k Je t D ire ct<br />
D N S / D H C P / B O O T P B IN D<br />
S y ste m m a n a g em en t S o ftw a re v e rte ilu n g<br />
In ve n ta risie ru ng<br />
H e lp D e sk<br />
S y ste m ü b e rw a ch u n g<br />
N e tzw e rk ü be rw a ch u n g<br />
G ro u p w a re & M e ss ag ing G ro u p w are eG ro u p w a re<br />
M a il S u se E m a il 2<br />
T e rm in a lse rve r<br />
A rb e its p la tzc o m p u te r<br />
S o ftw a re<br />
B e trie b ssy ste m B e trie b ssy ste m W in d o w s N T 4 .0<br />
S ta n d a rd so ftw a re D o ku m e n te n a us ta us ch , P D F - A crob a t R e ad e r<br />
T e rm in a ls e rve r (C lie n t Z u g riff)<br />
H a rd w a re<br />
B e tra ch te r<br />
W e b b ro w se r u n d M a ilc lie n t M oz illa<br />
B ü ro O p e n O ffice<br />
K o m p rim ie ru n g W in Z ip<br />
D a te n ba n k A cce s s<br />
T a b elle n ka lku la tion E xce l<br />
P rä se n ta tio n P o we rp o in t<br />
T e xtve ra rb e itu n g W o rd<br />
Seite 538<br />
M R T G / N ag io s /<br />
S N M P W a tch N e tvie w<br />
Abbildung 80: Matrix zur Soft- und Hardware-Kostenermittlung<br />
lfd . K o ste n<br />
Jahr 1<br />
lfd
3 Rechtsgrundlagen<br />
BHO 512 , § 7 Wirtschaftlichkeit und Sparsamkeit, Kosten- und Leistungsrechnung<br />
(1) Bei Aufstellung und Ausführung des Haushaltsplans sind die Grundsätze der Wirtschaftlichkeit<br />
und Sparsamkeit zu beachten. Diese Grundsätze verpflichten zur Prüfung,<br />
inwieweit staatliche Aufgaben oder öffentlichen Zwecken dienende wirtschaftliche Tätigkeiten<br />
durch Ausgliederung und Entstaatlichung oder Privatisierung erfüllt werden können.<br />
(2) Für alle finanzwirksamen Maßnahmen sind angemessene Wirtschaftlichkeitsuntersuchungen<br />
durchzuführen. Dabei ist auch die mit den Maßnahmen verbundene Risikoverteilung<br />
zu berücksichtigen. In geeigneten Fällen ist privaten Anbietern die Möglichkeit zu<br />
geben darzulegen, ob und inwieweit sie staatliche Aufgaben oder öffentlichen Zwecken<br />
dienende wirtschaftliche Tätigkeiten nicht ebenso gut oder besser erbringen können<br />
(Interessenbekundungsverfahren).<br />
(3) In geeigneten Bereichen ist eine Kosten- und Leistungsrechnung einzuführen.<br />
Allgemeine Verwaltungsvorschrift (VV) 513 zu § 7 BHO:<br />
1 Grundsatz der Wirtschaftlichkeit 514<br />
Die Ausrichtung jeglichen Verwaltungshandelns nach dem Grundsatz der Wirtschaftlichkeit<br />
soll die bestmögliche Nutzung von Ressourcen bewirken. Damit gehört zur Beachtung<br />
des Grundsatzes der Wirtschaftlichkeit auch die Prüfung, ob eine Aufgabe<br />
durchgeführt werden muss und ob sie durch die staatliche Stelle durchgeführt werden<br />
muss.<br />
Nach dem Grundsatz der Wirtschaftlichkeit ist die günstigste Relation zwischen dem<br />
verfolgten Zweck und den einzusetzenden Mitteln (Ressourcen) anzustreben. Der<br />
Grundsatz der Wirtschaftlichkeit umfasst das Sparsamkeits- und das Ergiebigkeitsprinzip.<br />
Das Sparsamkeitsprinzip (Minimalprinzip) verlangt, ein bestimmtes Ergebnis mit<br />
möglichst geringem Mitteleinsatz zu erzielen. Das Ergiebigkeitsprinzip (Maximalprinzip)<br />
verlangt, mit einem bestimmten Mitteleinsatz das bestmögliche Ergebnis zu erzielen. Bei<br />
der Ausführung des Haushaltsplans, der in aller Regel die Aufgaben (Ergebnis, Ziele)<br />
bereits formuliert, steht der Grundsatz der Wirtschaftlichkeit in seiner Ausprägung als<br />
Sparsamkeitsprinzip im Vordergrund.<br />
Der Grundsatz der Wirtschaftlichkeit ist bei allen Maßnahmen des Bundes, die die Einnahmen<br />
und Ausgaben des Bundeshaushaltes unmittelbar oder mittelbar beeinflussen,<br />
zu beachten. Dies betrifft sowohl Maßnahmen, die nach einzelwirtschaftlichen Kriterien<br />
(z. B. Beschaffungen für den eigenen Verwaltungsbereich und Organisationsänderungen<br />
512<br />
siehe Bundeshaushaltsordnung, i.d.F.v. 19.8.1969, zuletzt geändert durch Art. 3 G v. 22.<br />
9.2005 I 2809.<br />
513<br />
siehe Vorschriftensammlung der Bundesfinanzverwaltung, Verwaltungsvorschrift zur Bundeshaushaltsordnung,<br />
i.d.F.v. 16.05.2001, S. 16 ff..<br />
514<br />
Mit dem Grundsatz der Wirtschaftlichkeit sind - in Übereinstimmung mit der herrschenden<br />
Meinung in den Verwaltungswissenschaften - die Grundsätze der Wirtschaftlichkeit und<br />
Sparsamkeit im Sinne des § 7 BHO gemeint.<br />
Seite 539
in der eigenen Verwaltung) als auch Maßnahmen, die nach gesamtwirtschaftlichen Kriterien<br />
(z. B. Investitionsvorhaben im Verkehrsbereich, Subventionen und Maßnahmen der<br />
Sozial- und Steuerpolitik) zu beurteilen sind. Unter die Maßnahmen fallen auch Gesetzgebungsvorhaben.<br />
2 Wirtschaftlichkeitsuntersuchungen<br />
Wirtschaftlichkeitsuntersuchungen sind Instrumente zur Umsetzung des Grundsatzes<br />
der Wirtschaftlichkeit. Es ist zwischen einzel- und gesamtwirtschaftlichen Wirtschaftlichkeitsuntersuchungen<br />
zu unterscheiden.<br />
Wirtschaftlichkeitsuntersuchungen sind bei allen Maßnahmen durchzuführen. Sie sind<br />
daher bei der Planung neuer Maßnahmen einschließlich der Änderung bereits laufender<br />
Maßnahmen (Planungsphase) sowie während der Durchführung (im Rahmen einer begleitenden<br />
Erfolgskontrolle) und nach Abschluss von Maßnahmen (im Rahmen einer<br />
abschließenden Erfolgskontrolle) vorzunehmen.<br />
2.1 Wirtschaftlichkeitsuntersuchungen als Planungsinstrument<br />
Wirtschaftlichkeitsuntersuchungen in der Planungsphase bilden die Grundlage für die<br />
begleitenden und abschließenden Erfolgskontrollen. Wirtschaftlichkeitsuntersuchungen<br />
müssen mindestens Aussagen zu folgenden Teilaspekten enthalten:<br />
� Analyse der Ausgangslage und des Handlungsbedarfs,<br />
� Ziele, Prioritätsvorstellungen und mögliche Zielkonflikte,<br />
� relevante Lösungsmöglichkeiten und deren Nutzen und Kosten (einschl. Folgekosten),<br />
auch soweit sie nicht in Geld auszudrücken sind,<br />
� finanzielle Auswirkungen auf den Haushalt,<br />
� Eignung der einzelnen Lösungsmöglichkeiten zur Erreichung der Ziele unter Einbeziehung<br />
der rechtlichen, organisatorischen und personellen Rahmenbedingungen,<br />
� Zeitplan für die Durchführung der Maßnahme,<br />
� Kriterien und Verfahren für Erfolgskontrollen (siehe Nr. 2.2).<br />
Ist das angestrebte Ziel nach dem Ergebnis der Ermittlungen oder aus finanziellen<br />
Gründen nicht in vollem Umfang zu verwirklichen, so ist zu prüfen, ob das erreichbare<br />
Teilziel den Einsatz von Mitteln überhaupt rechtfertigt und ob die geplante Maßnahme<br />
besser zu einem späteren Zeitpunkt durchgeführt werden sollte.<br />
Besteht für den Erwerb oder die Nutzung von Vermögensgegenständen eine Wahlmöglichkeit<br />
zwischen Kauf-, Miet-, Leasing-, Mietkauf- und ähnlichen Verträgen, so ist vor<br />
dem Vertragsabschluss zu prüfen, welche Vertragsart für die Verwaltung am wirtschaftlichsten<br />
ist; ein Mangel an Haushaltsmitteln für den Erwerb durch Kauf reicht als Rechtfertigungsgrund<br />
für die Begründung von Dauerschuldverhältnissen nicht aus. Bei der<br />
Ausübung der Wahlmöglichkeit ist zu berücksichtigen, dass Leasingverträge hinsichtlich<br />
ihrer Wirtschaftlichkeit im Einzelfall einer besonders eingehenden Prüfung bedürfen.<br />
Seite 540
2.2 Wirtschaftlichkeitsuntersuchungen als Instrument der Erfolgskontrolle<br />
Die Erfolgskontrolle ist ein systematisches Prüfungsverfahren. Sie dient dazu, während<br />
der Durchführung (begleitende Erfolgskontrolle) und nach Abschluss (abschließende<br />
Erfolgskontrolle) einer Maßnahme ausgehend von der Planung festzustellen, ob und in<br />
welchem Ausmaß die angestrebten Ziele erreicht wurden, ob die Maßnahme ursächlich<br />
für die Zielerreichung war und ob die Maßnahme wirtschaftlich war.<br />
Bei Maßnahmen, die sich über mehr als zwei Jahre erstrecken, und in sonstigen geeigneten<br />
Fällen sind nach individuell festzulegenden Laufzeiten oder zu Zeitpunkten, an<br />
denen abgrenzbare Ergebnisse oder Teilrealisierungen einer Maßnahme zu erwarten<br />
sind, begleitende Erfolgskontrollen durchzuführen. Sie liefern vor dem Hintergrund zwischenzeitlich<br />
eingetretener ökonomischer, gesellschaftlicher und technischer Veränderungen<br />
die notwendigen Informationen für die Entscheidung, ob und wie die Maßnahme<br />
fortgeführt werden soll.<br />
Von der begleitenden Erfolgskontrolle ist die laufende Beobachtung zu unterscheiden.<br />
Im Gegensatz zum systematisch angelegten umfassenden Prüfungsverfahren der Erfolgskontrolle<br />
ist sie eine fortlaufende gezielte Sammlung und Auswertung von Hinweisen<br />
und Daten zur ergänzenden Beurteilung der Entwicklung einer Maßnahme. Alle<br />
Maßnahmen sind nach ihrer Beendigung einer abschließenden Erfolgskontrolle zur<br />
Überprüfung des erreichten Ergebnisses zu unterziehen.<br />
Methodisch besteht zwischen begleitender und abschließender Erfolgskontrolle kein<br />
Unterschied.<br />
Die Erfolgskontrolle umfasst grundsätzlich folgende Untersuchungen:<br />
� Zielerreichungskontrolle<br />
Mit der Zielerreichungskontrolle wird durch einen Vergleich der geplanten Ziele<br />
mit der tatsächlich erreichten Zielrealisierung (Soll-Ist-Vergleich) festgestellt, welcher<br />
Zielerreichungsgrad zum Zeitpunkt der Erfolgskontrolle gegeben ist. Sie bildet<br />
gleichzeitig den Ausgangspunkt von Überlegungen, ob die vorgegebenen<br />
Ziele nach wie vor Bestand haben.<br />
� Wirkungskontrolle<br />
Im Wege der Wirkungskontrolle wird ermittelt, ob die Maßnahme für die Zielerreichung<br />
geeignet und ursächlich war. Hierbei sind alle beabsichtigten und unbeabsichtigten<br />
Auswirkungen der durchgeführten Maßnahme zu ermitteln.<br />
� Wirtschaftlichkeitskontrolle<br />
Mit der Wirtschaftlichkeitskontrolle wird untersucht, ob der Vollzug der Maßnahme<br />
im Hinblick auf den Ressourcenverbrauch wirtschaftlich war (Vollzugswirtschaftlichkeit)<br />
und ob die Maßnahme im Hinblick auf übergeordnete Zielsetzungen<br />
insgesamt wirtschaftlich war (Maßnahmenwirtschaftlichkeit).<br />
Erfolgskontrollen sind auch durchzuführen, wenn die Dokumentation in der Planungsphase<br />
unzureichend war. In diesem Fall sind die benötigten Informationen nachträglich<br />
zu beschaffen.<br />
Seite 541
Die Zielerreichungskontrolle und die Wirkungskontrolle sind die Grundlagen für die Wirtschaftlichkeitskontrolle.<br />
Im Gegensatz zur Wirtschaftlichkeitskontrolle lassen sie aber<br />
den Mitteleinsatz unberücksichtigt.<br />
2.3 Methoden (Verfahren) der Wirtschaftlichkeitsuntersuchungen 515<br />
2.3.1 Allgemeines<br />
Bei der Durchführung von Wirtschaftlichkeitsuntersuchungen ist die nach den Erfordernissen<br />
des Einzelfalls einfachste und wirtschaftlichste Methode anzuwenden. Zur Verfügung<br />
stehen einzelwirtschaftlich und gesamtwirtschaftlich orientierte Verfahren. Welches<br />
Verfahren anzuwenden ist, bestimmt sich nach der Art der Maßnahme, dem mit ihr verfolgten<br />
Zweck und den mit der Maßnahme verbundenen Auswirkungen.<br />
Gesamtwirtschaftlich orientierte Verfahren sind für alle Maßnahmen mit erheblichen gesamtwirtschaftlichen<br />
Auswirkungen geeignet. Einzelwirtschaftlich orientierte Verfahren<br />
sind geeignet für Maßnahmen, die sich in erster Linie auf den betrachteten Verwaltungsbereich<br />
(z. B. Ministerium, Behörde) beziehen.<br />
2.3.2 Einzelwirtschaftliche Verfahren<br />
Für Maßnahmen mit nur geringen und damit zu vernachlässigenden gesamtwirtschaftlichen<br />
Nutzen und Kosten sind grundsätzlich die finanzmathematischen Methoden der<br />
Investitionsrechnung (z. B. Kapitalwertmethode) zu verwenden. Für Maßnahmen mit nur<br />
geringer finanzieller Bedeutung können auch Hilfsverfahren der Praxis (z. B. Kostenvergleichsrechnungen,<br />
Angebotsvergleiche) durchgeführt werden.<br />
2.3.3 Gesamtwirtschaftliche Verfahren<br />
Für Maßnahmen, die nicht zu vernachlässigende gesamtwirtschaftliche Auswirkungen<br />
haben, sind gesamtwirtschaftliche Wirtschaftlichkeitsuntersuchungen (z. B. Kosten-<br />
Nutzen-Analyse) durchzuführen.<br />
2.4 Verfahrensvorschriften<br />
2.4.1 Die Wirtschaftlichkeitsuntersuchungen sind grundsätzlich von der Organisationseinheit<br />
durchzuführen, die mit der Maßnahme befasst ist.<br />
2.4.2 Das Ergebnis der Untersuchung ist zu vermerken und zu den Akten zu nehmen.<br />
Bei Maßnahmen mit nur geringer finanzieller Bedeutung kann hiervon abgesehen werden.<br />
2.4.3 Zu den Unterlagen nach § 24 gehören auch Wirtschaftlichkeitsuntersuchungen.<br />
2.4.4 Die Beauftragten für den Haushalt entscheiden, über welche Wirtschaftlichkeitsuntersuchungen<br />
sie zu unterrichten sind. Sie können sich an den Wirtschaftlichkeitsuntersuchungen<br />
beteiligen und die Berücksichtigung einer Maßnahme bei der Aufstellung der<br />
Voranschläge und bei der Ausführung des Haushaltsplans von der Vorlage von Wirtschaftlichkeitsuntersuchungen<br />
abhängig machen.<br />
515 siehe Arbeitsanleitung Einführung in Wirtschaftlichkeitsuntersuchungen, Anlage zum Rundschreiben<br />
des BMF vom 31. August 1995 - II A 3 - H 1005 - 23/95 - (GMBl 1995, S. 764).<br />
Seite 542
3 Interessenbekundungsverfahren 516<br />
In geeigneten Fällen ist privaten Anbietern die Möglichkeit zu geben darzulegen, ob und<br />
inwieweit sie staatliche Aufgaben oder öffentlichen Zwecken dienende wirtschaftliche<br />
Tätigkeiten nicht ebenso gut oder besser erbringen können (Interessenbekundungsverfahren).<br />
Ein Interessenbekundungsverfahren kommt bei der Planung neuer und der Überprüfung<br />
bestehender Maßnahmen oder Einrichtungen in Betracht. Es erfordert eine Erkundung<br />
des Marktes nach wettbewerblichen Grundsätzen. Das Ergebnis der Markterkundung ist<br />
mit den sich bietenden staatlichen Lösungsmöglichkeiten zu vergleichen, um eine wirtschaftliche<br />
Bewertung zu gewährleisten.<br />
Das Interessenbekundungsverfahren ersetzt nicht das Verfahren zur Vergabe öffentlicher<br />
Aufträge. Wenn das Interessenbekundungsverfahren ergibt, dass eine private Lösung<br />
voraussichtlich wirtschaftlich ist, ist ein Verfahren zur Vergabe öffentlicher Aufträge<br />
durchzuführen.<br />
4 Kosten- und Leistungsrechnung<br />
Dauerhafte Aufgabe der öffentlichen Verwaltung ist es, das Verhältnis von Kosten und<br />
Leistungen bei der Aufgabenwahrnehmung zu verbessern. Grundlage dafür ist die Einführung<br />
einer Kosten- und Leistungsrechnung gemäß der Standard-KLR 517 .<br />
Die mit der Kosten- und Leistungsrechnung erzielten Ergebnisse machen entstandene<br />
Kosten und erbrachte Leistungen transparent. Ebenso wird eine wirksame Planung,<br />
Steuerung und Kontrolle ermöglicht. Auch die Haushaltsplanung und -ausführung kann<br />
durch die Kosten- und Leistungsrechnung unterstützt werden. Ebenso ist durch Informationen<br />
der Kosten- und Leistungsrechnung eine Ermittlung von kostendeckenden Gebühren<br />
und Entgelten realisierbar.<br />
516 Zur Durchführung des Interessenbekundungsverfahrens siehe Rundschreiben des BMF<br />
vom 31. August 1995 - II A 3 - H 1005 - 22/95 - (GMBl 1995, S. 764).<br />
517 VSF H 90 01<br />
Seite 543