Probleme und Lösungen der Plattform - unabhängigen Entwicklung am Beispiel einer Software für Identity - Management

Größe: px
Ab Seite anzeigen:

Download "Probleme und Lösungen der Plattform - unabhängigen Entwicklung am Beispiel einer Software für Identity - Management"

Transkript

1 Probleme und Lösungen der Plattform - unabhängigen Entwicklung am Beispiel einer Software für Identity - Management Als Vorlesung gehalten an der TU Dresden am Im Rahmen der Ringvorlesung Softwareentwicklung in der industriellen Praxis Lehrstuhl Softwaretechnologie Frau Dr. Birgit Demuth Autoren: Dipl.-Ing Ingo Rohner Absolvent 1985 an der TU Dresden, Studienrichtung Informationsverarbeitung. Dipl.-Inf. (FH) Jörg Rosenkranz Absolvent 1998 an der HTW in Dresden, Studienrichtung Informatik Die Firma Völcker Informatik AG (VI) hat ihren Sitz in Berlin. Die Autoren arbeiten in der Niederlassung Dresden als Softwareentwickler und sind hauptsächlich mit dem Produkt ActiveEntry beschäftigt. Alle Angaben im Vortrag beziehen sich auf dieses Produkt. Prämissen: a) Die Firma und das Entwicklerteam sind relativ klein, das Produkt ist relativ groß b) die Kunden haben Freiheiten hinsichtlich - des eingesetzten Betriebssystems - der verwendeten Datenbank - der verwendeten Anzeigetechnologie (Fat-Client / Browser) - der Anpassung der Software auf ihre speziellen Gegebenheiten Um diesen Widerspruch aufzulösen, definieren wir das Prinzip Highlander: "Es kann nur einen (Code) geben"

2 Inhalt 1) Die Firma ) heutiges Arbeitsgebiet von VI Compliance ) Was ist Identity - Management ) Provisioning Betriebsdatenabbildung Lösungsansätze für IdM, Provisioning und ComplianceCheck Lösungsansätze der Marktführer Lösungsansatz von VI Vorgehensweise von VI im Projekt ) Plattform- unabhängige Implementierung die Voraussetzungen bei VI die Kundenforderungen die Lösungswege ) Konkrete Implementierung der Ebenen Die Businesslogik / Objekt-Ebene ) Datenbank-Ebene Generierung und Single Source liebevolle Handarbeit SQL-Formatter Frontend Ebene... 25

3 1) Die Firma Mit einem kleinen Rückblick in die Geschichte wollen wir zeigen, wie sich die Firma und das Produkt entwickelt haben und wie wir zu unseren heutigen Themen im Identity - Management kamen, ja eigentlich zwangsläufig kommen mußten. In den Jahren 1992 / 1993 haben die späteren Gründer bei der Krone Netzwerkservice GmbH zusammengearbeitet wurde die Firma gegründet, erst als GbR, später als GmbH. Seit 1999 ist Völcker Informatik AG eine Aktiengesellschaft. Zur Gründung der Firma 1994 war der Stand der Technik auf dem Arbeitsplatz Windows 3.11, im Serverbereich Novell Netware in den Versionen 2.x, 3.11, 3.12 und die Herausforderung hieß, 200 PCs in einem Netz zum Laufen zu bringen. 200 PCs eine Herausforderung? Da lächeln Sie inzwischen drüber, mit den damaligen Mittel war das jedoch nicht trivial zu realisieren. Insbesondere ging es in der Anfangszeit von VI um den Aufgabenbereich Unattended Setup, das heißt um die Fragen: - Wie bekomme ich Stückzahlen von PCs an die Arbeitsplätze? - Wie bekommen die PCs ihr Betriebssystem? - Wie bekommen die PCs bzw. die Anwender ihre Applikationen? Insbesondere der letzte Punkt führte uns zum Thema der automatischen Softwareinstallation, d.h. wie bekommt jeder PC genau die Software und die Treiber, die ihm zugedacht sind. Bei Windows 3.11 wurde dies realisiert über liebevolles Patchen der Dateien Win.Ini und System.Ini. Es wurden Skripte gebaut, um die INI- Dateien zu modifizieren, um dann die Netze auszurollen. Im Jahr 1996 haben wir unser erstes Netz auf Basis von NT 3.51 bei den Berliner Verkehrsbetrieben gebaut. Damit erreichten wir erstmal die Größenordnung von 3000 Benutzern. NT 3.51 war die Software der Server, teilweise auch der Clients, meistens hatten wir jedoch Windows 95 Clients. Dort wurde erstmalig ein Verfahren angewendet, die Software anhand von Gruppenmitgliedschaften der Nutzer zu verteilen. Wir hatten ein eigenes Verfahren für Softwareverteilung entwickelt. Das Verfahren beruht auf einem Delta-Abbild und ist eigentlich eine relativ triviale Sache, das machen heutzutage viele. Die Idee war ursprünglich auch nicht ganz von uns. Grob umrissen funktioniert das Verfahren wie folgt: Wir haben am Anfang einen PC, der jungfräulich mit dem Betriebssystem aufgesetzt ist. Von diesem PC merken wir uns alle Eigenschaften, alle Dateien, Registry-Einträge, Ini-File-Einträge, Desktopsymbole und Menüsymbole. Anschließend installieren wir die Applikation oder den Treiber auf dem PC und konfigurieren alle Einstellungen so, wie sie gewünscht werden. Bei Office z.b. betrifft diese Konfiguration die Menüs, die Vorlagenverzeichnisse oder die Rechtschreibkontrolle. Von der so entstandenen PC- Konfiguration merken wir uns wiederum alle Eigenschaften. Aus den gemerkten Zuständen wird ein Delta gebildet, welches wir ein Profil nennen. Völcker Informatik AG hat in diesem Zusammenhang ein Werkzeug entwickelt, welches dieses Profil in eine Maschine schreiben und es auch spurlos wieder löschen kann. Damit hatten wir einen Mechanismus für eine sehr schnelle Softwareinstallation. Die Deltabildung läuft im Allgemeinen um die 90 Sekunden für eine kompletten PC. Bei der eigentlichen Softwareinstallation wird die meiste Zeit dafür benötigt, die Profile durch das Netz zu

4 transportieren, weswegen wir inzwischen an dieser Stelle einen asynchron arbeitenden Cache verwenden. Für die Zuordnung der Software haben wir nicht die Maschinen sondern die NT- Konten verwendet, die Software also den Nutzern zugeordnet. Der Nutzer ist Mitglied in einer Gruppe, welche als Applikationsgruppe gekennzeichnet ist. Unser Werkzeug schaut nach, welcher Nutzer welchen Gruppen angehört und demzufolge werden die zugehörigen Applikationen installiert oder deinstalliert. Im Projekt bei den Berliner Verkehrsbetrieben haben wir innerhalb von 3 Wochen die 3000 PCs einmal komplett ausgerollt. Dazu kamen ein paar Roadies, welche die Kisten an die Plätze gebracht, ausgepackt, aufgestellt und Kabel angesteckt haben, die MAC-ID per Telefon durchgesagt haben, Knöpfchen gedrückt haben und dann fuhr der PC hoch. Das war für beide Seiten ein sehr erfolgreiches Projekt, welches uns den Weg geebnet hat für viele weitere Entwicklungen. Im den Jahren 1997/1998 haben wir dann das erste NT 4 Projekt realisiert bei der Schering AG. Bei diesem Kunden handelte es sich bereits um Nutzer. In diesem Projekt haben wir zum ersten Mal das Prinzip der Vererbung über Betriebsdaten angewendet. Der Kundenwunsch war, daß ein Mitarbeiter bzw. sein NT4-Konto über seine Mitgliedschaft in Abteilungen, Kostenstellen oder Standorten Applikationen und Gruppen erben soll. Das klingt erst mal ganz einfach ist es letztendlich auch, wenn man ein paar unbedingt notwendige Randbedingungen einhält. Wir haben damals auch das erste Mal eine komplette Vollsynchronisation eines Zielsystems implementiert. Es wurden die kompletten Informationen zu den NT4- Domänen vollständig in unsere Datenbank eingelesen, d.h. alle Informationen zu den Konten, Gruppen und Mitgliedschaften. In der Datenbank wurden die Zuweisungen der Nutzer vorgenommen und die Ergebnisse, die aufgrund von Strukturveränderungen oder auch Direktzuweisungen entstanden sind dann wieder in die Umgebung publiziert. Im Jahr 1999 haben wir das Konzept der Betriebsdatenabbildung auf Wunsch eines weiteren Kunden weiter ausgebaut. Dr. Eckhardt Knauer war damals EDV-Leiter bei der AOK in Berlin. Er sagte uns: Ich als EDV-Mensch bin immer der Letzte in der Firma, der von irgendwelchen Einstellungen oder Entlassungen erfährt. Und ich bin auch der Letzte in der Firma, der erfährt, daß ein PC irgendwo abgebaut und woanders wieder angeschlossen wurde oder daß ein Monitor irgendwo umgesetzt worden ist. Ich weiß eigentlich fast nichts. Das Einzige, was ich weiß, ist, da steht ein Schreibtisch, für den eine Arbeitsaufgabe definiert ist. Also haben wir den Schreibtisch in unserer Datenbank modelliert. Auf dem Schreibtisch stellen wir einen PC auf und schließen einen Drucker an. So ist das Prinzip der Arbeitsplätze bei uns entstanden. Das hat uns dann in späteren Projekten des Öfteren gerettet. Im Jahr 2001 folgte die Integration von ActiveDirectory-Systemen, auch wieder komplett per Vollsynchronisation. Zu der Zeit hatten wir erstmals das Konzept der Person eingeführt, ein ähnliches Abstraktum wie den Arbeitsplatz. Anfänglich hatten wir nur ein einziges Zielsystem angeschlossen, das war entweder NT 4 mit einer oder mehreren Domänen bzw. Active Directory. Es war von einigen unserer Kunden gewünscht, daß diese einen Überblick bekommen, wenn eine Person 2 Konten besitzt. 99% aller Nutzer haben in einem Zielsystem genau ein Konto. Aber es gibt

5 ein paar wenige, die haben noch ein Extrakonto für administrative Aufgaben. Diese Abbildung konnten wir vorher noch nicht leisten. Da galt für uns (wie heute immer noch für viele Anbieter): Eine Person = ein Konto. Kurz danach kamen weitere Zielsysteme in unser Produkt, so z.b. Lotus Notes und Novell NDS, damit war die Zusammenführung diverser Konten in verschiedenen Systemen auf Personen dringend geboten. Im Jahr 2003 begannen wir ein Projekt in der Landeshauptstadt München mit Nutzern im Netz. Bei diesen Nutzer handelt es sich um alle Schüler von der 1. bis zur 13. Klasse, alle Berufsschüler und sämtliches Verwaltungspersonal im Pädagogikbereich der Stadt München. Alle diese Nutzer bekamen ein Konto, ein Postfach, ein Home-Verzeichnis und Ablageverzeichnisse. Die Verwendung bestimmter Betriebssysteme war zu der Zeit in München ein Politikum, das dazu führte, daß ausschließlich NICHT- Microsoft-Produkte zu verwenden waren. Wenn wir uns im Gegensatz dazu die bisherige Geschichte von Völcker Informatik AG dazu ansehen: Völcker Informatik AG war deutlich blau gefärbt, alles war Microsoft-geprägt Linux man weiß wie man es schreibt, man hat es schon mal gehört, schon mal gesehen aber dafür programmieren? Oracle ja, das soll wohl auch eine Datenbank sein. Wir haben bis dahin mit Microsoft SQL-Server gearbeitet, alle Versionen von der 6.5 an Wir nutzten die gebotene Chance und reimplementierten unsere gesamte Software hatte Microsoft.NET vorgestellt, aus unserer Sicht das bessere JAVA. Miguel d Icasa sah das genauso und begründete das Mono-Projekt, eine Plattformunabhängige Laufzeitumgebung für.net. Damit hatten wir eine Basis, in der gewohnten Microsoft-Umgebung zu entwickeln und die Software gegen Linux laufen zu lassen. Aus diesem Projekt wurde auch das heute vollständige umgesetzte Konzept der Plattform-Unabhängigkeit geboren. Im Jahr 2003 haben wir angefangen SAP als ein Zielsystem zu integrieren. Bei SAP synchronisieren wir nicht die gesamte Datenbank noch einmal in unsere Datenbank, sondern beschränken uns auf die Informationen zu Konten, Mitgliedschaften und Gruppen (dort Profile und Rollen genannt), wobei letztere nur gelesen werden haben wir es dann erstmals geschafft, funktionsidentische Frontends sowohl auf dem PC als EXE-Datei als auch im Browser laufen zu lassen, wobei in beiden Fällen das selbe Compilat verwendet wird. Das war notwendig, da immer mehr Kunden Intranet-Lösungen zu unserem Produkt haben wollten, insbesondere was den Bereich der Selbstbedienung der Anwender betrifft. Die Firma Völcker Informatik AG hat zum heutigen Tag 55 Mitarbeiter, davon arbeiten 12 in Dresden. Dresden ist der Standort der Firma in dem komplett die Bereiche Produktentwicklung, Qualitätssicherung, Dokumentation und Support abgewickelt werden.

6 2) heutiges Arbeitsgebiet von VI 2.1 Compliance Was ist eigentlich Compliance? Leo.org übersetzt das mit - in Übereinstimmung mit einer Bedingung - in Erfüllung einer Bedingung Wozu benötigen wir Compliance? Schauen wir ein paar Jahre zurück, auf das Platzen der großen Internetblase. Kann sich noch jemand an den Enron-Skandal erinnern? Dieses Energie-Unternehmen in den Vereinigten Staaten hat Spekulations- und Scheingeschäfte innerhalb der Firma gemacht. Zum Schluß implodierte das gesamte Spekulationsgebilde mit einem Riesenknall und einigen Milliarden Dollar Verlusten. Als Reaktion darauf wurde in den USA ein Gesetz verabschiedet, der Sarbance-Oxley-Act (SOX). Dieses verpflichtet Unternehmen, Regeln der innerbetrieblichen Sauberkeit zu definieren, einzuhalten und zu überwachen. Solche Regeln sind z.b. daß jemand, der Einkäufe über 1000 $ auslösen darf, nicht gleichzeitig auch zeichnungsberechtigt für die dazugehörigen Überweisungen ist. Wenn eine solche Rechtekonstellation zusammentrifft, dann ist der Versuchung Tür und Tor geöffnet. Das sind Risiken, die in der Unternehmensbilanz benannt und bewertet werden müssen. Die Einhaltung dieser Regeln muß nicht nur auf allgemeiner organisatorischer Ebene, sondern ausdrücklich auch auf der Ebene der EDV-Zugriffsrechte sichergestellt werden. Und was geht uns das in Deutschland an? Die Beantwortung der Frage ist relativ einfach: Jedes Unternehmen, das auch an amerikanischen Börsen gehandelt wird, ist verpflichtet eine Bilanz zu liefern, in der auch die Einhaltung solcher Regeln gesichert ist. Das ist Bestandteil des Wirtschaftsprüfertestats. Es gibt aber auch bei uns gesetzliche Regelungen, die eine Regeldefinition und Überwachung fordern. In Deutschland haben wir z.b. das Energiewirtschaftsgesetz. Das Energiewirtschaftsgesetz sagt unter anderem sinngemäß aus, daß, wenn eine Firma Energieerzeuger ist, ein eigenes Endkundengeschäft betreibt und auch Endkundengeschäft für Wiederverkäufer organisiert, niemand von diesen 3 Bereichen dem anderen in die Karten schauen darf. Ansonsten könnte ich ja als Endkundenbetreuer eines Energieerzeugers mal eben die Kundenliste der Yello- Kunden nehmen, alle abtelefonieren und versuchen sie zurückzugewinnen. Da muß also eine Wand im Unternehmen existieren, welche auch auf EDV-Ebene repräsentiert wird. Das heißt, daß Leute, die in dem einen Bereich arbeiten nicht auf die Ordner und Applikationen der Leute aus einem anderen Bereich zugreifen können und umgekehrt. Ein ähnliches Gesetz gibt es auch in Deutschland im Bereich Aktien- oder Bankenrecht. Jemand, der im Kundenauftrag mit Aktien handelt, darf sich in seinen Rechten, Befugnissen und Informationen nicht überschneiden mit jemandem, der Firmenfusionen, Firmenverkäufe oder Aufspaltungen im Auftrag der Bank bearbeitet. Im anderen Fall wäre die Gefahr eines Insider-Geschäfts gegeben. Dem Gesetz

7 muß derart Genüge getan werden, daß eine Trennung auch im EDV-Bereich existiert. Das Thema Compliance befaßt also immer mit Regeldefinitionen der Art Es darf nicht sein, daß jemand... Z.B. Es darf nicht sein, daß jemand Zugang zu der Gruppe A und zu der Gruppe B und zu dem Ordner C hat und sowohl die Applikation D als auch die Applikation E verwenden darf. Weiterhin gefordert ist beim Thema Compliance eine dauerhafte und lückenlose Aufzeichnung aller Rechtezuweisungen, aller Rechteabweisungen und in dem Fall, daß eine Regelverletzung aufgedeckt wird, auch eine zeitnahe Benachrichtigung desjenigen, der für die Überwachung dieser Regel zuständig ist, erfolgt. Es darf nicht sein, daß jemand... Wer ist dieser jemand? Im Sinne der Gesetze ist damit immer eine Person gemeint. Die Rechtsprechung kennt keine Konten, verantwortlich sind immer Personen. Eine Person hat jedoch unter Umständen mehrere Konten in den unterschiedlichsten Zielsystemen. Und für diese Person müssen die Regelverletzungen aufgedeckt bzw. gleich vermieden werden. Denken Sie jetzt mal an die EDV-Landschaften, die Sie bisher kennengelernt haben. Haben Sie da irgendwo schon einmal eine Person als abstraktes Objekt gesehen? Es werden immer nur Konten verwaltet. 2.2) Identity - Management Es existiert Uneinigkeit darüber, was eine Identität ist, manch einer meint die Person, andere meinen damit Konten. Im Sinne von Compliance sind aber immer beide im Zusammenhang zu betrachten. Das Ziel von Identity Management ist es, zu jeder Zeit die Information über jede Identität und ihre Berechtigung zur Verfügung haben, manipulieren und auswerten zu können. Es nützt nicht, eine Überwachung von 2 Konten zu machen, es geht um die Person der Bankangestellte, der nicht gleichzeitig zwei sich ausschließende Rechte haben darf, egal mit welchen Konten er sie erreicht. Rechte sind z.b. Access-Control-Lists im ActiceDirectory oder Transaktionen in SAP. Solche Rechte werden im Normalfall an Gruppen gebunden. Es gibt eine einzige Stelle, wo es sinnvoll ist, ein Recht an ein einzelnes Konto zu binden, und das ist das Recht auf dem Home-Verzeichnis eines Nutzers. Gruppen als Träger der Rechteinformationen gibt es heute in jedem Konten verwaltenden System (Betriebssysteme, SAP, Notes, auch Mail-Verteilerlisten sind nur Gruppen ) Für die Überprüfung von Compliance reicht es also im Normalfall aus, die Gruppenmitgliedschaften zu überwachen, sofern die Rechte der Gruppen ordentlich dokumentiert sind.

8 Zusammenfassung: Identity - Management ist das Verwalten von Informationen über Person, ihre Konten und deren Gruppenmitgliedschaften, das Aufzeichnen von Veränderungen und das Anbieten von Auswerte-Möglichkeiten. 2.3) Provisioning Das letzte Schlagwort in der Sammlung lautet Provisioning frei übersetzt die Versorgung. Das meint die Versorgung einer Person mit Konten in einem bestimmten Zielsystem und die Versorgung eines Kontos mit Gruppenmitgliedschaften. Im erweiterten Sinne bedeutet das auch die Versorgung einer Person mit materiellen Gütern wie z.b. einem PC oder Telefon oder allem Sonstigen, was die Person für ihre Tätigkeit benötigt. Die Zielstellung, welche hinter dem Schlagwort Provisioning steht, lautet: Betritt jemand ein Unternehmen, so soll er innerhalb kürzester Zeit arbeitsfähig gemacht werden, auch EDV-technisch, d.h. er muß ein Konto bekommen z.b. im Active Directory, er muß ein Postfach erhalten, muß in bestimmte Rechtegruppen aufgenommen werden, muß ein Portfolio an Applikationen zugeteilt bekommen und einen PC auf den Schreibtisch bekommen, der ein passendes Betriebssystem und eine korrekte Netzanbindung hat. Wer etwas vertraut ist mit der Materie weiß, es gibt Unternehmen, in denen dauert es wirklich vom Eintritt des Mitarbeiters bis zu dem Zeitpunkt, an dem er EDV-mäßig arbeitsfähig ist, 2-4 Wochen. Es kann sich solange hinziehen, weil viel Papierkram von vielen Leuten ausgefüllt und unterschrieben werden muß bis sich dann jemand hinsetzt und wirklich das Konto anlegt. Das Gegenstück dazu ist, jemand verläßt das Unternehmen. Da mögen aber bitte innerhalb weniger Minuten sämtliche Konten nicht mehr verwertbar sein egal ob sie nun gelöscht oder gesperrt werden, oder nur aus allen Gruppen entfernt werden. Hauptsache, man kann mit den Konten nicht mehr arbeiten. In der Praxis dauert es allerdings oftmals mehrere Jahre, bis auch wirklich das letzte Konto gesperrt oder gelöscht ist. Gesamt-Zielstellung Identity - Management, Provisioning und Compliance Eine Person soll genau über die Konten und Berechtigungen verfügen, die für ihre Tätigkeit notwendig sind, genau für den Zeitraum in dem das erforderlich ist. Sämtliche Arbeitsschritte, die Änderungen an diesen Daten vornehmen, sind zu dokumentieren. Das Berechtigungsportfolio darf keine der definierten Regeln verletzen bzw. sind diese Regelverletzungen aufzuzeichnen und kurzfristig den Verantwortlichen zu melden. Wie gelangt man nun eigentlich zur Mitgliedschaft in einer Gruppe, sei es nun Applikations- oder Rechtegruppe? Wir haben 3 mögliche Herangehensweisen: - Der erste Weg ist der Klassiker: Ich nehme das Management-Werkzeug des Betriebssystems nehme meinen Account, füge ihn in die Gruppe ein und speichere ihn. So hat keiner einen Überblick oder eine Benachrichtigung und somit weiß auch keiner, wer dies wann getan hat. - Die bessere Wahl ist ein Ablauf von Bestellung, Genehmigung und Zuweisung. Eigentlich wird hier lediglich das Verfahren abgebildet, welches in

9 den meisten Unternehmen papiermäßig abläuft und am Ende mit den technischen Mitteln der Direktzuweisung (s.o.) realisiert wird. - Die 3. Variante ist die Erbschaft aus Strukturmitgliedschaften bzw. aus Rollen. Egal, welches der beiden letztgenannten Verfahren wir benutzen, wir haben es an diesen Stellen jetzt immer mit Betriebsdatenabbildungen zu tun, da die Erbschaft aus einer Strukturzugehörigkeit erfolgt bzw. der Besteller und der Genehmiger in einer betrieblichen Korrelation zueinander stehen. Oftmals ist z.b. der Genehmiger der Kostenstellenverantwortliche, da dieser später auch die zugehörige Rechnung bekommt. Bei der Deutschen Telekom Immobilien GmbH haben wir es so implementiert, daß jeder Kostenstellenverantwortliche am Monatsende per ein PDF zugestellt bekommt mit dem Titel Ihre EDV-Kosten für diesen Monat für ihre Mitarbeiter. Aufgeführt sind dort alle Kosten für PC-Abschreibung oder Leasingraten, Applikationsnutzung oder Speicherverbrauch auf den Servern. All diese Informationen sind letztlich in der Datenbank vorhanden und müssen nur noch per Report strukturiert werden. Die EDV-Kostenstellen werden in der Kostenrechnung als Verrechnungskostenstelle umgelegt, d.h. die EDV-Abteilung ist an jedem Monatsende als interner Firmendienstleister kostenmäßig auf +/- Null gestellt. Wir haben also immer eine gewisse Betriebsdatenabbildung durchzuführen. Wie diese aussieht, soll unser letzter Punkt sein bevor wir uns der konkreten Implementierung zuwenden. 2.4 Betriebsdatenabbildung Bei der Betriebsdatenabbildung gibt es mehrere Ansätze. Ich habe mit Herrn Professor Koch von der HTW herzliche Streitgespräche durchgeführt. Prof. Koch ist einer der X-500 Gurus und ebenso ein Motor der Unix-Gemeinde. X-500, ist vereinfacht gesagt, ein Modell zur hierarchischen Strukturierung von Organisationsdaten als Container und der Zuordnung von Konten in diese Container. Das ist das Modell mit dem viele Vertriebsleute Erfolg haben, weil es genauso aussieht, wie sich mancher Vorstand seine Firma vorstellt. Ganz oben ist der Chef, darunter bauen wir ein paar Container an, welche die Hauptabteilungen darstellen. Darunter werden erneut Container aufgebaut, die dann Unterabteilungen verkörpern. Schließlich folgen die Kleinstabteilungen. Es ist also ein richtig schönes hierarchisches System, in dem ich auch etwas durchvererben kann. Es gibt allerdings ein paar Probleme z.b. das Thema Standorte. Die IP-Konfiguration der Rechner ist standortabhängig. Gut, lösen wir das Problem, indem wir auf der ersten Ebene unserer Hierarchie Container für die Standorte einfügen und darunter spannen sich dann die Abteilungen auf. Das ist immer noch optimal aus der Sicht eines Vorstandsvorsitzenden. Dann gibt es aber noch die Kostenstellen. Nun wird es langsam unübersichtlich, da man sie nicht mehr in eine einzelne Hierarchie hineinbekommt und außerdem im X-500 jedes Konto nur in genau einem Container Mitglied sein kann.

10 Vor ca. 6 Jahren hatten wir die dankbare Aufgabe bei der Wirtschaftsprüfungsfirma KPMG eine Analyse zur Modellierung der Verteilerlisten zu erstellen. KPMG ist ein Unternehmen, welches andere Unternehmen berät wie diese ihre Betriebsabläufe aufzubauen und wie sie sich zu strukturieren haben. Im - System gab es eine Menge definierter Verteilerlisten und KPMG wollte einen Automatismus haben, mit dem jemand aufgrund seiner Zugehörigkeit zu einem Standort, zu einer Abteilung usw. automatisch Mitglied in einer Verteilerliste wird und die entsprechenden Informationen, die an diese Verteilerliste gesendet werden, auch erhält. Die 3 Klassiker in der Betriebsstrukturierung hatten wir sofort identifiziert: Abteilung, Kostenstelle und Standort alles kein Problem. Die Kostenstellen ergaben sich aus Sicht der Controller. Die Mitgliedschaft im Beratungsprojekt X oder Y ist die nächste Ebene. Dann kamen noch die Fachgebiete hinzu z.b. Beratung in Land- und Forstwirtschaft, dazu die Interessengebiete Ja, ich interessiere mich auch für die Nahrungsgüterwirtschaft. Weiterhin gibt es die Partnerschaften. KPMG ist keinesfalls ein homogenes Unternehmen, sondern viel mehr eine Vereinigung mehrerer Sozietäten mit gemischten Eigentümerschaften. Und dann gibt es noch Spezialisierungsrichtungen: Der eine Mitarbeiter ist verantwortlich für Prüfung und Testierung, der andere ist für die Betriebsorganisation zuständig und der Dritte für die Finanzplanung. Das sind also insgesamt 8 Dimensionen, in denen KPMG strukturiert ist. Wir können davon ausgehen, daß jede Firma eine n-dimensionale Abbildung benötigt, wobei n beliebig groß sein kann. Wir haben also eine n-dimensionale Matrix-Sicht. Jede dieser Sichten ist bei uns letztendlich auch implementiert als ein Baum, jedoch gegenüber X-500 mit einigen entscheidenden Unterschieden: - Jeder Nutzer kann Mitglied in beliebig vielen Containern auch innerhalb eines einzigen Baumes sein - Mitglied sind die Personen, nicht die Konten - An jeden Container kann man Rechte aus allen Zielsystemen zuweisen, weiterhin auch Konstrukte für die Zuweisung für z.b. PCs 3. Lösungsansätze für IdM, Provisioning und ComplianceCheck 3.1 Lösungsansätze der Marktführer MetaDirectory - Projekte In den letzten Jahren gab es den Hype der Meta-Directory-Projekte. Die Anbieter am Markt hatten inzwischen alle erkannt, daß eine n-dimensionale Matrix und eine X-500 Abbildung nicht so recht zueinander passen. Also definierten sie ein neues Directory, legten dieses über das vorhandene und nannten das Ganze ein Meta-Directory. Wenn man die Dimensionen vergleicht, kommt man schnell zu dem Schluß: Das kann nicht funktionieren. Die Meta-Directory-Projekte sind auch alle hinsichtlich einer sauberen Betriebsdaten-Abbildung gescheitert. Identity Management Systeme (IdM)

11 Die meisten Anbieter von IdM führen mit Kunstgriffen die Person als Objekt ein, legen jedoch nur die Referenzen zu den verwalteten Konten ab. Es erfolgt also keine komplette Abbildung des Zielsystems (Bsp. Nur Ablage des DistinguishedName). Dabei treten jedoch einige Probleme auf: - Wird ein Objekt umbenannt oder geändert, stimmt die Referenz nicht mehr, das System ist inkonsistent. - Die Zuordnung der Eigenschaften als auch Zuordnung von Personen zu Konten erfolgt über Mapping Regeln z.b. zwischen Accountname oder -Addresse zu Eigenschaften der Person wie Vorname und/oder Nachname Das klappt im besten Fall für 98 % aller Objekte, meist jedoch nur im Bereich zwischen 60 und 80 % aller Objekte. Aber selbst 2 % Restmenge bedeuten das Scheitern des Projektes, weil damit a) automatisches Management über die Meta-Ebene nicht mehr zu definiert richtigen Ergebnissen führt. b) schon ein einziger Verstoß gegen Compliance - Regeln zur Verweigerung eines Testats führen kann. - Sollen Objekte betrachtet oder geändert werden, ist ein Zugriff auf das Zielsystem notwendig, es muß also am Standort der Management Software verfügbar sein. - Sollen Listen von Objekten gezogen werden, so benötigt man viel Zeit. Wir haben Anwendungsfälle, bei denen wir die Mitglieder in einem Container (2500 Konten), als eine Liste im Frontend produzieren müssen. Als Reaktionszeit eines Frontends werden nur Zeiträume bis 3 Sekunden akzeptiert. Mit Direktzugriffen auf die Zielsysteme schafft man das nicht annähernd. Es gibt also auf diesem Gebiet einen Glaubenskrieg machen wir ein Store-By- Reference (was u.a. in den Meta-Directory-Projekten verwendet wird) oder mache ich ein Store-By-Value (unser Weg) d.h. alle Daten liegen komplett in der Datenbank. Warum haben wir uns für die Datenbank entschieden? Zum einen ist das das einzige wirklich transaktionssichere System. Für diesen Zweck sind relationale Datenbanken entwickelt worden. Und es ist auch die einzige Technologie, die gut geeignet ist für Massendatenverarbeitung. 3.2 Lösungsansatz von VI 3-Ebenen Architektur Letztendlich gesehen, haben wir in unserem Produkt eine klassische 3-Ebenen- Struktur, bestehend aus einer Datenbank, darüber die Objektschicht und einer Präsentationsschicht. Auch die automatische Verarbeitung auf den Servern funktioniert wie eine Präsentationsschicht, da auch sie immer durch die Objektschicht hindurch geht.

12 ObjectLayer ObjectLayer Datenbank Nutzdaten Metadaten Die Datenbank haben wir logisch in zwei Bereiche eingeteilt. Zum einen haben wir die Nutzdaten, welche die konkreten Informationen über Personen, Betriebsdaten, Konten, Mitgliedschaften, Gruppen beinhalten (pay-load). Zum anderen gibt es die Metadaten, welche die gesamte Dialogsteuerung, Queues für asynchrone Verarbeitung sowie die komplette Systemkonfiguration umfassen. Das Nutzdaten- Modell enthält Tabellen für: - Die Person und ihre 1:n Abbildung zu Konten - Beliebige Betriebsdaten-Strukturen mit beliebigen Mitgliedschaften als Fremdschlüssel oder auch als m:n-abbildung, um die n-dimesionale Matrix des Unternehmens darstellen zu können. - Die vollständige Abbildung der zu verwaltenden Zielsysteme. Über der Datenbank liegt eine Objektschicht. In der Objektschicht ist eigentlich vom Objekt selbst oder von Klassendefinition her nichts programmiert. Die leere Hülle der Objekte wird zur Laufzeit aus dem datenbankschema erzeugt. Die Funktionsweise der Klassen ergibt sich erst im Zusammenspiel mit den Meta-daten aus der Datenbank. Wir haben je Tabelle eine Objektklasse. Davon abgeleitet gibt es je nach Bedarf weitere Teilklassen. Je Spalte ist ein Property definiert. Zur Verfügung steht ein Satz von Datenbank-orientierten Methoden (Load, Save, GetValue, PutValue) und Events (Insert, Update, Delete). Wir stellen Ausdrucksmittel für die Quernavigation (Objectwalker) zur Verfügung, mit denen sich auf der Ebene C# Fremdschlüsselbeziehungen verfolgen lassen. Es gibt die sogenannten Customizer in der Objektebene. Diese enthalten nicht änderbare Nebenwirkungen der Objekte. Ein Beispiel dafür ist das Wechselspiel der Flag UserCanNotChangePassword UseMustChangePasswordAtNextLogon im Objekte ADSAccount.

13 Über die Metadaten der Datenbank können weitere konfigurierbare Nebenwirkungen geladen werden, die dem Kunden offen gelassen wurden. Beispiel dafür sind Bildungsregeln für Postfächer. Über Serverkomponenten, die auch gegen die Objektschicht arbeiten, erfolgt die vollständige bidirektionale Synchronisation mit den Zielsystemen. Das Management über Frontends erfolgt immer durch die Objektschicht hindurch. Als Ergebnis gibt es eine Veränderung von Nutzdaten. Parallel dazu werden auch Metadaten verändert, vorzugsweise in Queues für asynchrone Verarbeitungen. Von den Queues holen sich Server die Informationen ab und verarbeiten diese. Gleichzeitig befinden sich Server aber auch in der Rolle, daß sie Informationen und Aktionen (wie ein normales Frontend) wieder einstellen können. In den einschlägigen Studien zum Thema Identity Management und Provisioning (z.b. Burton und Gartner) tauchen immer wieder zwei Begriffe auf, über die sich die Gelehrten allzu gern streiten: Local Agent und Remote Agent. Ein Agent ist in dem Sinne ein Stück Software, welches Manipulationen an Konten im Zielsystem vornehmen kann. Der lokale Agent: Ich mache etwas über eine Remote-Konsole auf einem Server und lasse dort alles ausführen. Der Remote Agent: Ich sitze an meinem Arbeitsplatz und habe einen Durchgriff durchs Netz und mache meine Änderungen aus der Entfernung. Nach diesen Definitionen ist unser Produkt etwas, was man konsequenterweise als Distributed Agent bezeichnen muß. Betrachten wir zum besseren Verständnis den Vorgang Anlegen eines Kontos in der ADS. Im Frontend hat das Konto seine Eigenschaften bekommen und soll nun in das Zielsystem publiziert werden. Die erste Aktion hierfür ist das Anlegen des Kontos selbst. Manch einer glaubt, das wäre schon alles gewesen, doch die eigentliche Arbeit beginnt jetzt erst. Nach dem Anlegen auf dem Domain-Controller folgt ein weiterer Bearbeitungsschritt, denn der Nutzer benötigt ein Home-Verzeichnis. Dazu muß ich einen geeigneten Home-Server aus den Betriebsdaten auswählen, im Normalfall wird das standortabhängig sein. Auf dem Homeserver muß ich ein Verzeichnis anlegen, dieses sharen und Rechte für den Nutzer vergeben. Des Weiteren benötigt der Nutzer ein Postfach, welches ich sinnvollerweise auf dem Exchange-Server anlege. Aber sowohl bei der Rechtevergabe auf dem Home-Server als auch beim Anlegen des Postfaches auf dem Exchange-Server muß ich warten bis die ADS eigene Replikationen mir das Konto auf dem aktuellen Server zur Verfügung stellt. Dann muß das Konto in Rechtegruppen und Verteilerlisten aufgenommen werden, was sinnvollerweise wieder auf dem Domain-Controller passiert. Wir bevorzugen diese Vorgehensweise aufgrund der Installierbarkeit, der Lastverteilung und der Sicherheit der Daten. Wenn ich einen Dienst auf einer Maschine installiere, dessen Aktionsgebiet auf die Maschine selber beschränkt ist, bekomme ich Rechtesituation und Betriebsstabilität viel einfacher konfiguriert, als wenn ich Aktionen ausübe, bei denen man durchs Netz durchgreifen muß.

14 Dazu müßte ich einem Konto Rechte auf entfernte Ressourcen erteilen. Sobald sich aber an Kontensituationen oder Netztopologie irgend etwas verändert, ist solch eine Zuordnung von Rechten immer problembehaftet. Deswegen liegt unsere Konzentration auf lokaler Ausführung. Jeder Server holt sich aus der Queue in der Datenbank die Aufgaben ab, die durch ihn zu bearbeiten sind und meldet sein Verarbeitungsergebnis zurück. Darauf basierend besitzen wir einen Schalt- Mechanismus für Prozeßabläufe, durch die im Anschluß der möglichen Folgeschritt freigeschalten wird Vorgehensweise von VI im Projekt Die schwierigste Phase in IdM-Projekten ist die die Inbetriebnahme und hierbei wiederum das Thema Datenkonsolidierung. Im Laufe der Jahre hat sich bei uns ein Standard-Vorgehen etabliert. Die Daten zu den Betriebsstrukturen werden durch Importe oder durch manuelles Anlegen erzeugt. Die Personen werden aus einem HR-System importiert, das klappt zumindest für alle die, die auf der Lohnliste stehen. Jetzt fehlen noch externe Mitarbeiter von Dienstleistern bzw. Leiharbeiter. Weitere Personendaten oder auch weitere Eigenschaften von Personen werden durch Import aus Telefonbuch-Applikationen, Telefonanlagen-Speichern oder später direkt aus Konten gewonnen. Danach werden alle relevanten Zielsysteme mit Konten, Gruppen und Mitgliedschaften eingelesen. Auf Basis dieser Daten machen wir eine erste Zuordnung der Personen zu den Konten. Diese Zuordnung erfolgt durch einmaliges Anwenden von Mapping Regeln in den Fällen, bei denen die Regel ein eineindeutiges Ziel ermittelt. Mit dieser Methode erreicht man ca % Datenqualität. Die so erzeugten Daten gehen als Korrekturlisten an die Abteilungen, da auf dieser Ebene die Personen durch direkten Kontakt bekannt sind und die Informationen oft wesentlich aktueller vorhanden sind. Den Abteilungsleitern wird ein Frontend im Intranet zur Verfügung gestellt, mit dem sie ihren Änderungen vornehmen können. Bis hierher kommen wir auf über 95 % Datenqualität. Alle Konten, die sich bis zu diesem Stand nicht zuordnen lassen, werden gesperrt. Wir gehen aus Erfahrung davon aus, daß sich der Inhaber des Kontos in der EDV- Abteilung melden wird, sofern er noch Bedarf hat. Die ausgelesenen Gruppen-Zuordnungen der Konten werden soweit möglich umgesetzt auf Erbschaften über Betriebsdaten, sofern die Beziehung zwischen z.b. einer Abteilung und einer Gruppenmitgliedschaft eindeutig ist und der Kunde dies wünscht. Ein anderer oder manchmal auch zusätzlicher Weg ist die Umsetzung der Gruppenzuordnungen auf Bestellungen im IT-Shop. Die Zuordnungen werden so aufbereitet, als ob sie im Intranet bestellt, genehmigt und zugeordnet wären. Das gibt dem Kunden die Möglichkeit, solche Zuordnungen einfach abbestellen zu können. Die Zuordnung der Konten zu Personen kann ebenfalls wie eine ITShop-Bestellung aufbereitet werden, so daß z.b. ein Abteilungsleiter für seinen Mitarbeiter ein Konto wieder abbestellen kann, wenn er dies nicht mehr benötigt.

15 4) Plattform - unabhängige Implementierung 4.1 Die Voraussetzungen bei VI Die Wurzeln von Völcker Informatik liegen ganz eindeutig im Microsoft-Umfeld Alles was bisher beschrieben wurde, hatten wir über die Jahre schon Stück für Stück in C++ und COM - Technologie (für die Zugriffs- und Objektebene) bzw. in Visual Basic für die Frontends implementiert. Als Datenbank diente MSSQL in den Versionen 6.5, 7 und auch Alle Mitarbeiter haben mit Microsoft DevStudio 5 und 6 gearbeitet, VI-Editor und Arbeit ohne einen Schritttest-Debugger hat niemand mehr akzeptiert. Die Niederlassung Dresden setzt sich nach Aufgaben heute wie folgt zusammen (Teilzeitverträge und Aufgabenteilungen sind anteilig umgerechnet auf ganze Stellen) Objektschicht 1 Zielsystem Abgleich 1 Standard-Frontends (Fat + Web) 2 QS 1,5 Standard-Prozesse 0,75 Kundenspezifische Frontends 1 Dokumentation 1 Entwicklung primäre Datenbank 1 Umsetzung Oracle 0,3 Support 1,5 Das bedeutete, je nach Zählweise ca. 7 Leute für alle Entwicklungen Für alle Software-Ebenen mußte eine Entscheidung fallen für ein System unter dem primär entwickelt wurde. Alle anderen Plattformen müssen dann per Anpassen / Abschreiben nachgezogen werden. Bei der Entwicklung auf der jeweiligen Primärplattform müssen die Einschränkungen durch die anderen Plattformen immer schon berücksichtigt werden. Alles was gebaut wird, muß Unit-Tests erhalten, die identisch auch in der Sekundär - Implementierung ablaufen.

16 4.2 Die Kundenforderungen Die Kundenwünsche beinhalten Plattformunabhängigkeit hinsichtlich - Datenbank - Zugrunde liegendes Betriebssystem, Programmiersprache und Laufzeitumgebung - Frontend-Technologie als Exe bzw. als Browser-Frontend wobei der Webserver und der Browser selbst auch wieder Plattformunabhängig sein sollen. Insgesamt ergibt das die nachfolgend skizzierte Vielfalt an Möglichkeiten

17 4.3 Die Lösungswege Das Ergebnis soll hier schon einmal vorweggenommen werden. Aus unserer Sicht hat man genau 3 Lösungsmöglichkeiten, um eine Software plattformunabhängig zu entwickeln. Nr. 1 die schöne heile Welt: Wir haben identischen Schnittstellen auf allen Plattformen. Dazu entwickelt man einen Quelltext, compiliert diesen und läßt das Ergebnis auf alle Plattformen laufen. Nr. 2 die ähnliche Welt: Die Zielumgebungen sind sich zumindest weitgehend ähnlich, haben eine ausreichend großen Durchschnittsmenge, so daß sich eine Entwicklung auf einer Meta-Ebene lohnt. Das bedeutet, daß man auf einer abstrahierten Ebene entwickelt und dann entweder zur Laufzeit oder zur Generierungszeit aus dieser Meta-Ebene ein Programm erzeugt, das auf den jeweiligen Plattformen läuft. Nr. 3 die Unterwelt: Die Zielumgebungen sind so unterschiedlich, daß getrennte Implementierungen notwendig sind. Üblicherweise wird für ein Primärsystem entwickelt und nach erfolgten Tests der Code anschließend durch Abschreiben in eine oder mehrere Sekundärimplementierungen übertragen. In Reinform trifft man diese Möglichkeiten in der Realität fast nie an. Meistens treten Mischformen auf. 5) Konkrete Implementierung der Ebenen 5.1 Die Businesslogik / Objekt-Ebene Für die Implementierung einer plattformunabhängigen Objekt - Ebene standen im Jahr 2002 zwei relevante Systeme zur Auswahl: Die zuerst untersuchte und damals auch bekanntere Grundlage war Java. Es war damals schon weit verbreitet und hatte vor allem serverseitig eine große Akzeptanz erreicht. Die Fat - Clients waren jedoch recht langsam und instabil. Für die Zukunftssicherheit der Entscheidung kam erschwerend hinzu, daß Java kein offener Standard ist, sondern unter Hoheit der Firma SUN steht. Als technisches Problem stellte sich die Einbindung von nativem Code heraus, welcher jedoch bei der Ansteuerung z.b. einer ADS oder eines Notes-API benötigt wird. Die Alternative hieß.net Framework mit C# als Entwicklungssprache. Das war für uns aufgrund unserer Vergangenheit eine vertraute Entwicklungsumgebung mit der auch native Windows-Frontends möglich waren..net war eingereicht als ECMA-Standard und eine Portierung auf andere Betriebssysteme war mit dem quelloffenen Mono im Entstehen. Mono war zwar

18 anfangs noch nicht ausgereift, Probleme konnten von uns aufgrund der Quelloffenheit gefixt und an die Mono-Community eingereicht werden. Die Einbindung von bestehendem Code war für eine Übergangszeit bzw. für die direkte Betriebssystemansteuerung möglich. Letztendlich trafen wir also unsere Entscheidung zugunsten.net. Eine totale Plattformunabhängigkeit läßt sich nicht erreichen, es gibt immer Fallstricke zu beachten. Einige Beispiele dafür sollen nachfolgend kurz benannt werden. - Pfade im Dateisystem Linux ist in diesem Bereich Case Sensitiv, Windows ist Case Insensitiv. Beide Betriebssysteme haben andere Trennzeichen und andere Verzeichnisstrukturen (Laufwerksbuchstaben) - Fehlende Features Linux kennt keine Registry und keine COM-Interfaces - Unterstützung für Oberflächenbibliotheken Es gibt erhebliche Unterschiede zwischen WinForms und GTK# - externen Bibliotheken In den Anfangszeiten gab es für MONO keine vollständige VB.NET- Umsetzung - Verwendung von nicht portablen externen Bibliotheken Zugekaufte Controls oder Bibliotheken enthalten oftmals native Betriebssystem-Aufrufe, das ist z.b. bei fast alle Reporting-Werkzeugen der Fall - Nutzung von Tools, die nur auf einem der Systeme zur Verfügung stehen (z.b. Robocopy vs. Rsync) Die Grundregel lautet hier: Soweit wie möglich abstakt implementieren und z.b. Path.Combine statt String.concat verwenden. Wenn es wirklich massive Unterschiede gibt, greift Methode 3: Man verwende einen Case-Block, der nach Betriebssystemen differenziert. Zu diesem Zweck kann man ein zentrales Property unserer Klassenbibliothek zur Unterscheidung abfragen. 5.2 ) Datenbank-Ebene Was ist das Schöne an Standards? Daß es so viele davon gibt! Es gibt einen ANSI-SQL-Standard. Man kann sich daran orientieren und es ist als Lehrbeispiel auch gut zu verstehen. Daneben gibt es die Implementierung von Microsoft mit dem Namen Transact-SQL, meist abgekürzt mit T-SQL. Weiterhin gibt es eine Implementierung von Oracle, die sich PL/SQL nennt. Die nachfolgenden Aussagen sind nicht wissenschaftlich, sondern eher im Gefühlsbereich angesiedelt. Es gibt Überschneidungen und Differenzmengen zwischen MSSQL, Oracle und dem ANSI-Standard. ANSI-SQL ist von Haus aus, was Abläufe und prozentuale Elemente betrifft, etwas schwach auf der Brust Da ist eigentlich gar nichts definiert.

19 PL/SQL T-SQL ANSI-SQL Unser Ziel war immer offen zu bleiben für die spätere Integration weiterer Datenbanksysteme. Deshalb wurde vor Grundsatzentscheidungen auch immer die Machbarkeit gegen PostgreSQL abgetestet. DB2 haben wir außen vor gelassen, da es bei unseren Kunden so gut wie nicht vorkommt und MySQL mußten wir ignorieren, da es mit Triggern und SPs noch nicht so weit war Generierung und Single Source Die Datenbank ist der Kern unseres Produktes, die Stelle, wo alle Informationen zusammenlaufen. In der Codestatistik im Anhang kann man erkennen, wie sich dieser Sachverhalt auch auf die Code-Menge auswirkt. Das konnten wir natürlich nicht alles zweimal machen. Deswegen ist es nötig zu differenzieren. Soweit wie möglich nutzen wir Meta- Entwicklung aus einer einzigen Quelle. Das Datenbankschema wird mit einem schönen, alten Werkzeug gepflegt, das inzwischen schon 10 Jahre alt ist und ERWin heißt. Wir nehmen unsere Entity-Relationship-Modelle um das Schema zu definieren und daraus einen Report zu erstellen. Weiterhin haben wir ein kleines Generierungstool und generieren uns aus dem Report des Modells das eigentliche Schema. Die Generierung erzeugt das Schema mit allen Tabellen, Indizes, allen Anweisungen für referentielle Integrität (teilweise als Trigger, teilweise als Constraint).

20 Im nachfolgenden Beispiel sehen wir die generierten Quelltexte für die Tabellendefinition für Betriebssystem-Informationen. Die beiden Texte sehen sich noch recht ähnlich, haben aber schon ein paar Unterschiede, die rot gekennzeichnet wurden. Bsp.: Create Table Create Table OS ( Ident_OS varchar(32) NOT NULL, UID_Licence char(38) NULL, Name varchar(64) NULL, Version varchar(64) NULL, IsServerOS bit default 0 NULL, IsClientOS bit default 0 NULL, XDateInserted datetime NULL, XDateUpdated datetime NULL, XUserInserted varchar(64) NULL, XUserUpdated varchar(64) NULL, XTouched char(1) NULL Primary Key (Ident_OS) ) go Create Index XIF1126OS on OS ( UID_Licence ) go Create Table OS ( Ident_OS Varchar2(32 ) NOT NULL, UID_Licence Varchar2(38 ) NULL, Name Varchar2(64 ) NULL, Version Varchar2(64 ) NULL, IsServerOS Number(1,0 ) default 0, IsClientOS Number(1,0 ) default 0, XDateInserted Date NULL, XDateUpdated Date NULL, XUserInserted Varchar2(64 ) NULL, XUserUpdated Varchar2(64 ) NULL, XTouched Varchar2(1 ) NULL, Primary Key (Ident_OS) ) go Create Index XIF1126OS on OS ( UID_Licence ) go Der Name von Tabellen darf bei Oracle aus historischen Gründen nur 30 Zeichen betragen, Microsoft hingegen erlaubt bis zu 260 Zeichen. Will man beide Systeme verwenden, muß man praktisch alles auf die kleine Variante reduzieren also 30 Zeichen. Die Gültigkeit von Namen ist bei Oracle prinzipiell schemaweit. Bei Microsoft muß Indexname nur unikal sein im Zusammenhang mit dem Tabellennamen. Die Wertarten sind ein Thema für sich. Varchar ist Standard für alle variablen Zeichenketten. Oracle besitzt außerdem ein Varchar2. Oracle kennt zwar auch ein varchar, das ist aber kaum in Verwendung. Varchar2 wurde wahrscheinlich deshalb so genannt, weil es ein bißchen anders ist. Microsoft trennt strikt: eine leere Zeichenkette ( ) ist etwas anderes als ein Null-Wert. Oracle sagt, es ist dasselbe. Das kann einem ganz böse auf die Füße fallen, wenn man für beide Plattformen etwas entwickelt. Microsoft kennt für logische Informationen die Wertart Bit. Sie kann die Werte 0,1 und null annehmen und benimmt sich ansonsten wie andere numerische Werte. Oracle hingegen kennt einen richtigen boolean mit true und false. Damit wir aber wieder kompatibel in der ganzen darüber liegenden Umgebung sind, haben wir bei Oracle logische Werte generiert als Numeric (1,0) und interpretieren das auf der Objektebene als logischen Wert mit 0 und 1. Nach außen aus der Objektschicht kommt es als boolean mit true und false wieder an. Ein ganz böses Thema ist der ANSI-Join. Diese Notation kann Oracle überhaupt erst seit Version 9. Leider ist die Implementierung so instabil, da man bei Verwendung der ANSI-Notation Fehler in der Zugriffsschicht provozieren kann, wenn mehr als 5 (Version 9) oder 7 Tabellen (Version 10) beteiligt sind.

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung 6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, enthält mindestens Jahr, Monat, Tag Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice

Mehr

Komplexe Excel-Berichte mit APEX und jxls erstellen

Komplexe Excel-Berichte mit APEX und jxls erstellen Komplexe Excel-Berichte mit APEX und jxls erstellen Dietmar Aust Opal-Consulting Köln Schlüsselworte: Oracle APEX, MS Excel, jxls, Bericht, Template, Open Source Einleitung In fast jeder Webapplikation

Mehr

Programme deinstallieren,

Programme deinstallieren, Programme deinstallieren, Programme mit Windows deinstallieren: Sie haben Programme auf Ihrem Rechner, die Sie gar nicht oder nicht mehr gebrauchen. Sie sollten solche Programme deinstallieren, denn die

Mehr

Whitepaper Walkyre Enterprise Resource Manangement

Whitepaper Walkyre Enterprise Resource Manangement Whitepaper Walkyre Enterprise Resource Management Seite 1 Whitepaper Walkyre Enterprise Resource Manangement Stand 15.11.2004 Inhalt 1. Hinweis... 2 2. Grundsätzliches zur Funktionalität... 3 3. Der Walkyre-Client...

Mehr

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

Mehr

Access und OpenOffice.org

Access und OpenOffice.org Access-Datenbanken in OpenOffice.org 1.1 einbinden Herausgegeben durch das OpenOffice.org Germanophone-Projekt Autoren Autoren vorhergehender Versionen Timo Kozlowski Alle in diesem Dokument erwähnten

Mehr

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11 Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS

Mehr

Nun klicken Sie im Hauptfenster der E-Mail-Vewaltung auf den Schriftzug Passwort. Befolgen Sie die entsprechenden Hinweise: 3.

Nun klicken Sie im Hauptfenster der E-Mail-Vewaltung auf den Schriftzug Passwort. Befolgen Sie die entsprechenden Hinweise: 3. Ihre schulische E-Mail-Adresse lautet: Ihr Erstpasswort lautet: @bbs-duew.de Sie können ihre E-Mails entweder über einen normalen Web-Browser (Internet Explorer, Firefox) oder über ein E-Mail-Client-Programm

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

15 Bilder und Dateien im SQL Server

15 Bilder und Dateien im SQL Server Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen 15 Bilder und Dateien im SQL Server Eines der großen Probleme von Access-Datenbanken ist der vergleichsweise geringe Speicher platz. Sicher,

Mehr

MVB3. Einrichtungsvarianten und Update auf v3.5. Admin-Dokumentation. Inhalt V3.05.001

MVB3. Einrichtungsvarianten und Update auf v3.5. Admin-Dokumentation. Inhalt V3.05.001 V3.05.001 MVB3 Admin-Dokumentation Einrichtungsvarianten und Update auf v3.5 Inhalt Serveranpassung für die Lizenzverwaltung (v3.5)... 1 Updates der Clients auf die neue Version... 1 Einrichtungsvarianten...

Mehr

6RIW&OHDQ Š 9HUVLRQ8SJUDGHDQOHLWXQJ

6RIW&OHDQ Š 9HUVLRQ8SJUDGHDQOHLWXQJ 6RIW&OHDQ Š 9HUVLRQ8SJUDGHDQOHLWXQJ 6HKUJHHKUWH6RIW&OHDQ $QZHQGHU LQ XQVHUHP 6RIW&OHDQ 8SGDWHV 'RZQORDGEHUHLFK ILQGHQ 6LH ]ZHL $UWHQ YRQ 8SGDWHV 1DFKIROJHQGHUIDKUHQ6LHZHOFKHV8SGDWHI U6LHGDVULFKWLJHLVWXQGZLH6LHGDV8SGDWHDXI,KUHP$UEHLWVSODW]GXUFKI

Mehr

WIE KANN ICH ACCESS XML FÄHIGKEITEN UNABHÄNGIG VON DER VERSION BEIBRINGEN?

WIE KANN ICH ACCESS XML FÄHIGKEITEN UNABHÄNGIG VON DER VERSION BEIBRINGEN? XML 1 WIE KANN ICH ACCESS XML FÄHIGKEITEN UNABHÄNGIG VON DER VERSION BEIBRINGEN? Mit den verschiedenen Versionen von Access wurde die Unterstützung von XML immer mehr verbessert. Vollständig ist sie aber

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views in SQL. 2 Anlegen und Verwenden von Views 2 Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig

Mehr

WufooConnector Handbuch für Daylite 4

WufooConnector Handbuch für Daylite 4 WufooConnector Handbuch für Daylite 4 WufooConnector Handbuch für Daylite 4 1 Allgemeines 1.1 Das WufooConnector Plugin für Daylite 4 4 2 Einrichtung 2.1 2.2 2.3 Installation 6 Lizensierung 8 API Key einrichten

Mehr

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1 Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------

Mehr

1 Die Active Directory

1 Die Active Directory 1 Die Active Directory Infrastruktur Prüfungsanforderungen von Microsoft: Configuring the Active Directory Infrastructure o Configure a forest or a domain o Configure trusts o Configure sites o Configure

Mehr

Archiv. Zum Vergrößern auf das Bild klicken.

Archiv. Zum Vergrößern auf das Bild klicken. Konfiguration von Microsoft Entourage Links: Entourage ist Teil von Microsoft Office für Mac OS X. Es kann als reines Mail-Programm für beliebige POP- oder IMAP-Postfächer benuzt werden, aber erst im Zusammenspiel

Mehr

2. Sie sind der Administrator Ihres Netzwerks, das den SBS 2011 Standard ausführt.

2. Sie sind der Administrator Ihres Netzwerks, das den SBS 2011 Standard ausführt. Arbeitsblätter Der Windows Small Business Server 2011 MCTS Trainer Vorbereitung zur MCTS Prüfung 70 169 Aufgaben Kapitel 1 1. Sie sind der Administrator Ihres Netzwerks, das den SBS 2011 Standard ausführt.

Mehr

WebDAV 1. ALLGEMEINES ZU WEBDAV 2 3. BEENDEN EINER WEBDAV-VERBINDUNG 2 4. WINDOWS EXPLORER (WINDOWS XP) 3 5. WINDOWS EXPLORER (WINDOWS 7 ) 6

WebDAV 1. ALLGEMEINES ZU WEBDAV 2 3. BEENDEN EINER WEBDAV-VERBINDUNG 2 4. WINDOWS EXPLORER (WINDOWS XP) 3 5. WINDOWS EXPLORER (WINDOWS 7 ) 6 WebDAV 1. ALLGEMEINES ZU WEBDAV 2 2. HINWEISE 2 3. BEENDEN EINER WEBDAV-VERBINDUNG 2 4. WINDOWS EXPLORER (WINDOWS XP) 3 5. WINDOWS EXPLORER (WINDOWS 7 ) 6 5.1 Office 2003 6 5.2 Office 2007 und 2010 10

Mehr

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. Metadaten

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. Metadaten Fakultät für Informatik & Wirtschaftsinformatik Metadaten Metadaten sind Daten über Daten Data-Dictionary speichert Informationen über die Struktur der Daten, z.b.: Tabellen, Spalten, Datentypen Primär-

Mehr

TimeSafe Leistungserfassung

TimeSafe Leistungserfassung Keep your time safe. TimeSafe Leistungserfassung Adressimport 1/8 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 Allgemeines... 3 1.1 Adressen in der TimeSafe Leistungserfassung... 3 1.2 Organisationen und/oder

Mehr

Whitepaper. Produkt: combit Relationship Manager / address manager. Integration der Ansicht "Adressen" in eigene Solution

Whitepaper. Produkt: combit Relationship Manager / address manager. Integration der Ansicht Adressen in eigene Solution combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager / address manager Integration der Ansicht "Adressen" in eigene Solution Integration der Ansicht "Adressen" in

Mehr

6. Datenintegrität. Integritätsbedingungen

6. Datenintegrität. Integritätsbedingungen 6. Integritätsbedingungen dienen zur Einschränkung der Datenbankzustände auf diejenigen, die es in der realen Welt tatsächlich gibt. sind aus dem erstellten Datenmodell ableitbar (semantisch) und können

Mehr

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

Handbuch organice SQL-Reportgenerator

Handbuch organice SQL-Reportgenerator organice Software GmbH Handbuch organice SQL-Reportgenerator Benutzerhandbuch Stand: August 2013 Inhalt 1. Allgemeine Informationen... 3 1.1 Einführung... 3 1.2 Voraussetzungen... 3 1.3 Zielgruppe... 3

Mehr

Projekt Weblog :: Integration

Projekt Weblog :: Integration Projekt Weblog :: Integration Die Implementation des Formhandling Frameworks wird nun im Projekt Weblog integriert. Dafür stehen 2 Möglichkeiten zur Auswahl. Sie haben Ihre eigene Implementation der Actions,

Mehr

Zugang zum BSCW-System an der FH Frankfurt am Main

Zugang zum BSCW-System an der FH Frankfurt am Main BSCW-Redaktion 04.04.2009 Seite 1 Zugang zum BSCW-System an der FH Frankfurt am Main In dieser Anleitung wird beschrieben, wie Sie Ihren BSCW-Arbeitsbereich über WebDAV in Windows einbinden. Um diese Anleitung

Mehr

Access [basics] Beispieldaten-Assistent. Beispieldatenbank. Installation. Tools Der Beispieldaten-Assistent

Access [basics] Beispieldaten-Assistent. Beispieldatenbank. Installation. Tools Der Beispieldaten-Assistent Beispieldaten-Assistent Jeder Access-Entwickler steht irgendwann vor der Situation, mal eben einige Beispieldatensätze zu seiner Anwendung hinzuzufügen. Wer keine Lust auf Fantasie-Einträge wie ASDF oder

Mehr

1 Objektfilterung bei der Active Directory- Synchronisierung

1 Objektfilterung bei der Active Directory- Synchronisierung Auswahl der zu synchronisierenden Objekte 1 Objektfilterung bei der Active Directory- Synchronisierung Das optionale Verzeichnissynchronisierungstool von Office 365 hat grundsätzlich die Aufgabe, im lokalen

Mehr

Whitepaper. Produkt: combit Relationship Manager / address manager. FILESTREAM für Microsoft SQL Server aktivieren

Whitepaper. Produkt: combit Relationship Manager / address manager. FILESTREAM für Microsoft SQL Server aktivieren combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager / address manager FILESTREAM für Microsoft SQL Server aktivieren FILESTREAM für Microsoft SQL Server aktivieren

Mehr

DocuWare unter Windows 7

DocuWare unter Windows 7 DocuWare unter Windows 7 DocuWare läuft unter dem neuesten Microsoft-Betriebssystem Windows 7 problemlos. Es gibt jedoch einige Besonderheiten bei der Installation und Verwendung von DocuWare, die Sie

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

Datenbanken: Datenintegrität. www.informatikzentrale.de

Datenbanken: Datenintegrität. www.informatikzentrale.de Datenbanken: Datenintegrität Definition "Datenkonsistenz" "in der Datenbankorganisation (...) die Korrektheit der gespeicherten Daten im Sinn einer widerspruchsfreien und vollständigen Abbildung der relevanten

Mehr

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL Betreuer: Sascha Kriewel, Tobias Tuttas Raum: LF 230 Bearbeitung: 26., 27. und 29. Juni 2006 Datum Team (Account) Vorbereitung Präsenz Aktuelle Informationen, Ansprechpartner und Material unter: http://www.is.inf.uni-due.de/courses/dbp_ss07/index.html

Mehr

Erste Hilfe bei VSS Backup Fehlern

Erste Hilfe bei VSS Backup Fehlern NetWorker für Windows - Allgemein Tip 91, Seite 1/10 Erste Hilfe bei VSS Backup Fehlern VSS Fehler können vielfältige Ursachen haben, deren Ursprung nicht immer gleich einleuchtet. Nicht ohne Grund gibt

Mehr

Schreibberechtigungen auf Dateien oder Ordner zuweisen

Schreibberechtigungen auf Dateien oder Ordner zuweisen Musterlösung für Schulen in Baden-Württemberg Windows 200x Lehrerfortbildung Schreibberechtigungen auf Dateien oder Ordner zuweisen Andreas Mayer. Auflage, 7.06.2008 Inhalt. Schreibberechtigungen auf Dateien

Mehr

Die DeskCenter Management Suite veröffentlicht neue Version 8.1

Die DeskCenter Management Suite veröffentlicht neue Version 8.1 Die DeskCenter Management Suite veröffentlicht neue Version 8.1 Neues im Basis Modul Benutzerdefinierte Felder Die DeskCenter Management Suite erlaubt nun das Erstellen von selbst definierten Eingabefeldern.

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Installation über MSI. CAS genesisworld mit MSI-Paketen installieren

Installation über MSI. CAS genesisworld mit MSI-Paketen installieren Installation über MSI CAS genesisworld mit MSI-Paketen installieren 1 Copyright Die hier enthaltenen Angaben und Daten können ohne vorherige Ankündigung geändert werden. Die in den Beispielen verwendeten

Mehr

MySQL Queries on "Nmap Results"

MySQL Queries on Nmap Results MySQL Queries on "Nmap Results" SQL Abfragen auf Nmap Ergebnisse Ivan Bütler 31. August 2009 Wer den Portscanner "NMAP" häufig benutzt weiss, dass die Auswertung von grossen Scans mit vielen C- oder sogar

Mehr

Dingsda - Bedienungsanleitung unter Windows

Dingsda - Bedienungsanleitung unter Windows Dingsda - Bedienungsanleitung unter Windows Benötigte Software Um die Dateien von Dingsda zu öffnen und zu bearbeiten, benötigen Sie ein Textverarbeitungsprogramm, das doc- oder rtf-dateien lesen kann

Mehr

IKONIZER II Installation im Netzwerk

IKONIZER II Installation im Netzwerk Der IKONIZER II ist netzwerkfähig in allen bekannten Netzwerken. Da jedoch etwa 95% der Installationen lokal betrieben werden, erfolgt diese grundsätzlich sowohl für das Programm wie auch für den lizenzfreien

Mehr

NoSQL mit Postgres 15. Juni 2015

NoSQL mit Postgres 15. Juni 2015 Tag der Datenbanken 15. Juni 2015 Dipl.-Wirt.-Inform. Agenda l Vorstellung l Marktübersicht l Warum PostgreSQL? l Warum NoSQL? l Beispielanwendung Seite: 2 Vorstellung Dipl.-Wirt.-Inform. [1990] Erste

Mehr

Replikation auf einem Microsoft SQLServer 2000

Replikation auf einem Microsoft SQLServer 2000 Replikation auf einem Microsoft SQLServer 2000 Johann Murauer, 6.September 2004 (Private technische Notiz ohne irgendwelche Gewährleistung, Support etc. es wird die Einrichtung einer Replikation für eine

Mehr

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann. JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

Aufbau einer Testumgebung mit VMware Server

Aufbau einer Testumgebung mit VMware Server Aufbau einer Testumgebung mit VMware Server 1. Download des kostenlosen VMware Servers / Registrierung... 2 2. Installation der Software... 2 2.1 VMware Server Windows client package... 3 3. Einrichten

Mehr

Labor 3 - Datenbank mit MySQL

Labor 3 - Datenbank mit MySQL Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.

Mehr

Dropbox Verschlüsselung mit TrueCrypt

Dropbox Verschlüsselung mit TrueCrypt 1 von 8 19.04.2013 15:17 Datenbank Dropbox Verschlüsselung mit TrueCrypt http://www.hpier.de/wb» Software» Dropbox Verschlüsselung mit TrueCrypt Daten in der Dropbox Cloud mit TrueCrypt sicher verschlüsseln

Mehr

So geht's: Import von Daten in den address manager

So geht's: Import von Daten in den address manager combit GmbH Untere Laube 30 78462 Konstanz So geht's: Import von Daten in den address manager Einleitung 2 Voraussetzungen 2 Beispiele aus der Praxis 3 Beispiel 1 Import einer Excel Tabelle 3 Beispiel

Mehr

Enterprise User Security mit Active Directory

Enterprise User Security mit Active Directory Enterprise User Security mit Active Directory Jürgen Kühn Trivadis GmbH Düsseldorf Schlüsselworte: Enterprise User Security, Active Directory, Directory Integration and Provisioning, Active Directory Passwort

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

CBS-Heidelberg Helpdesk Filr-Dokumentation S.1

CBS-Heidelberg Helpdesk Filr-Dokumentation S.1 CBS-Heidelberg Helpdesk Filr-Dokumentation S.1 Dokumentation der Anwendung Filr von Novell G Informationen zu Filr, die über diese Dokumentation hinausgehen, finden Sie im Internet unter: http://www.novell.com/de-de/documentation/novell-filr-1-1/

Mehr

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4) Vorlesung #6 SQL (Teil 4) Fahrplan Besprechung der Übungsaufgaben Einschub: Self Joins (relevant fürs Praktikum) Dynamische Intergritätsbedingungen, das Trigger - Konzept von Oracle Prozedurale Erweiterungen,

Mehr

Windows Server Update Services (WSUS)

Windows Server Update Services (WSUS) Windows Server Update Services (WSUS) Netzwerkfortbildung, Autor, Datum 1 WSUS in der Windows Was ist WSUS? Patch- und Updatesoftware von Microsoft, bestehend aus einer Server- und einer Clientkomponente

Mehr

AnNoText. AnNoText Online-Update. Copyright Wolters Kluwer Deutschland GmbH

AnNoText. AnNoText Online-Update. Copyright Wolters Kluwer Deutschland GmbH Copyright Wolters Kluwer Deutschland GmbH AnNoText AnNoText Online-Update Wolters Kluwer Deutschland GmbH Software + Services Legal Robert-Bosch-Straße 6 D-50354 Hürth Telefon (02 21) 9 43 73-6000 Telefax

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Schlagworte Autor: Klaus Friemelt, MT AG dynamisches BULK SQL, VARCHAR2-indizierte PL/SQL-Tabellen Einleitung Mit den letzten

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2 Universität Osnabrück 1 3 - Objektorientierte Programmierung in Java Zur Erinnerung: Aufteilung der Schichten GUI Vorlesung 17: 3-Schichten-Architektur 2 Fachkonzept Fachkonzept - Datenhaltung Datenhaltung

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Handbuch oasebw Seite 1 von 10

Handbuch oasebw Seite 1 von 10 Seite 1 von 10 Seite 2 von 10 Inhaltsverzeichnis BESCHREIBUNG 4 VORGÄNGE 5 VORGANG NEU ANLEGEN 5 VORGANG BEARBEITEN 7 VORGANG ÜBERWACHEN 8 VORGANG LÖSCHEN/STORNIEREN 8 VERWALTUNG 9 PERSÖNLICHE EINSTELLUNGEN

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Datenpool statt Datengrab - E-Mail-Archivierung mit Oracle Universal Content Management

Datenpool statt Datengrab - E-Mail-Archivierung mit Oracle Universal Content Management Datenpool statt Datengrab - E-Mail-Archivierung mit Oracle Universal Content Management Georg Wittmann QUERPLEX GmbH Nürnberg Katerina Mpalaska ORACLE Deutschland GmbH Stuttgart Schlüsselworte: E-Mailarchivierung,

Mehr

TYPO3 und TypoScript

TYPO3 und TypoScript TYPO3 und TypoScript Webseiten programmieren, Templates erstellen, Extensions entwickeln von Tobias Hauser, Christian Wenz, Daniel Koch 1. Auflage Hanser München 2005 Verlag C.H. Beck im Internet: www.beck.de

Mehr

Folge 18 - Vererbung

Folge 18 - Vererbung Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,

Mehr

3 Entwerfen von Identitäts- und

3 Entwerfen von Identitäts- und 3 Entwerfen von Identitäts- und Zugriffsmanagementkomponenten Prüfungsanforderungen von Microsoft: Designing Support Identity and Access Management Components o Plan for domain or forest migration, upgrade,

Mehr

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten. Lehrstuhl für Datenbanken und Informationssysteme Wintersemester 1999/2000 Universität Augsburg, Institut für Informatik 25. Februar 2000 Prof. Dr. Werner Kießling A. Leubner, M. Wagner Datenbanksysteme

Mehr

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 8 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 12.01. 2004 Integritätsbedingungen

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Postgresql. Michael Dienert. 10. Dezember 2007. 1.1 Installationsort der Programme... 1

Postgresql. Michael Dienert. 10. Dezember 2007. 1.1 Installationsort der Programme... 1 Postgresql Michael Dienert 10. Dezember 2007 Inhaltsverzeichnis 1 Übersetzen und Installieren 1 1.1 Installationsort der Programme..................... 1 2 Einrichten einer Testdatenbank 1 2.1 Das Datenbank-Cluster.........................

Mehr

spezial Software Defined Networking

spezial Software Defined Networking infoline spezial Software Defined Networking Alle Artikel zu unseren Fokusthemen finden Sie unter comlineag.de/infocenter Ciscos ACI-Lösung als Weg zum SDN Seit einiger Zeit sind Schlagworte wie SDN aus

Mehr

Häufig gestellte fragen zu Professional officedrive

Häufig gestellte fragen zu Professional officedrive Häufig gestellte fragen zu Professional officedrive Allgemeine Fragen Was ist Professional OfficeDrive? Professional OfficeDrive ist ein Filesharing System. Mit Professional OfficeDrive kann ein Unternehmen

Mehr

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken Betriebliche Datenverarbeitung Wirtschaftswissenschaften AnleitungzurEinrichtungeinerODBC VerbindungzudenÜbungsdatenbanken 0.Voraussetzung Diese Anleitung beschreibt das Vorgehen für alle gängigen Windows

Mehr

Der Neue Weg zur Verschlüsselung von Datenbankinhalten

Der Neue Weg zur Verschlüsselung von Datenbankinhalten Der Neue Weg zur Verschlüsselung von Datenbankinhalten Da Häufigkeit und Schwere von Datendiebstahl zunehmen, ist es immens wichtig, dass Unternehmen vertrauliche und sensible Daten zusätzlich durch Verschlüsselung

Mehr

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt:

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: Datenbanksysteme Entwicklung der Datenbanksysteme Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: 1. Generation: In den fünfziger

Mehr

BANKETTprofi Web-Client

BANKETTprofi Web-Client BANKETTprofi Web-Client Konfiguration und Bedienung Handout für die Einrichtung und Bedienung des BANKETTprofi Web-Clients im Intranet / Extranet Der BANKETTprofi Web-Client Mit dem BANKETTprofi Web-Client

Mehr

Technische Produktinformation: Active Directory- Management in bi-cube

Technische Produktinformation: Active Directory- Management in bi-cube Inhalt: 1 bi-cube -FEATURES ACTIVE DIRECTORY... 2 2 DAS SYSTEMKONZEPT... 3 3 WAS SIND ADOC UND ECDOC?... 3 4 DIE WICHTIGSTEN FUNKTIONEN IM ÜBERBLICK... 5 4.1 Verwaltung der Strukturdaten... 5 4.2 Verwaltung

Mehr

Geschäftslogik in die Datenbank Umstellung eines Kernbanksystems

Geschäftslogik in die Datenbank Umstellung eines Kernbanksystems Geschäftslogik in die Datenbank Umstellung eines Kernbanksystems Michael Meyer Berenberg Bank Hamburg Schlüsselworte: PL/SQL, Objektorientierung, Oracle Types, XML, Zentralisierung der Geschäftslogik,

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D. 1 Copyright 1996-1997 by Axel T. Schreiner. All Rights Reserved. 7 Datenbankzugriff Prinzip Dieser Abschnitt beschäftigt sich mit dem Paket java.sql, das eine SQL-Schnittstelle für Java verkapselt. Java-Programme

Mehr

ATB Ausbildung technische Berufe Ausbildungszentrum Klybeck

ATB Ausbildung technische Berufe Ausbildungszentrum Klybeck Inhaltsverzeichnis DOKUMENTATION SERVER INSTALLATION MIT WINDOWS 2000...1 Was ist ein Server...1 Aufbau des aprentas Servers...1 Materialliste:...1 Ablauf der Installation:...1 Die Installation:...1 Server

Mehr

Mit dem 6. Rundbrief gelange ich mit einem Update des Zeitservers an Alle.

Mit dem 6. Rundbrief gelange ich mit einem Update des Zeitservers an Alle. Rundbrief 6 Aktuelles aus der SAS Softwarewelt. 0.1 Zeit Server Update Werte Anwender Mit dem 6. Rundbrief gelange ich mit einem Update des Zeitservers an Alle. Das Update wurde aus Kompatibilitätsgründen

Mehr

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de DYNAMISCHE SEITEN Warum Scriptsprachen? Stand: 11.04.2005 CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de I N H A L T 1 Warum dynamische Seiten?... 3 1.1 Einführung... 3 1.2 HTML Seiten...

Mehr

OU Verwaltung für CV's

OU Verwaltung für CV's OU Verwaltung für CV's Version Datum Autor Änderung 01 7.12.06 JM Meyer Original 02 14.5.08 JM Meyer Typo und Ergänzungen 03 16.5.08 JM Meyer LMHOSTS lookup entfernt 04 3.7.08 JM Meyer Typo und Ergänzungen

Mehr

Leitfaden Datensicherung und Datenrücksicherung

Leitfaden Datensicherung und Datenrücksicherung Leitfaden Datensicherung und Datenrücksicherung Inhaltsverzeichnis 1. Einführung - Das Datenbankverzeichnis von Advolux... 2 2. Die Datensicherung... 2 2.1 Advolux im lokalen Modus... 2 2.1.1 Manuelles

Mehr

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. 1 In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. Zunächst stellt sich die Frage: Warum soll ich mich mit der Architektur eines DBMS beschäftigen?

Mehr

Folgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133.

Folgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133. Page 1 of 7 Betrifft: Java oder PL/SQL? Art der Info: Technische Background Info Autor: Guido Schmutz (guido.schmutz@trivadis.com) Quelle: Aus unserer Schulungs- und Beratungstätigkeit Mit Oracle8.1 besteht

Mehr

Microsoft SQL Server 2014 Express & EPLAN Plattform. EPLAN-Product-IT-Support / FOS / 2015 1

Microsoft SQL Server 2014 Express & EPLAN Plattform. EPLAN-Product-IT-Support / FOS / 2015 1 Microsoft SQL Server 2014 Express & EPLAN Plattform 1 Microsoft SQL Server & EPLAN Plattform Übersicht Download - Microsoft SQL Server 2014 Express mit Advances Services Installation - Microsoft SQL Server

Mehr

Einrichtung Mac OS X Mail IMAP

Einrichtung Mac OS X Mail IMAP Einrichtung Mac OS X Mail IMAP Fachhochschule Eberswalde IT-Servicezentrum Erstellt im Mai 2009 www.fh-eberswalde.de/itsz Die folgende Anleitung beschreibt die Einrichtung eines E-Mail-Kontos über IMAP

Mehr

Auf der Homepage steht

Auf der Homepage steht Auf der Homepage steht VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. Not only is VirtualBox an extremely feature rich, high performance product

Mehr

Tutorial: Systemportierung per Datenbank-Sicherung. version: 0.1 Author: Anja Beuth

Tutorial: Systemportierung per Datenbank-Sicherung. version: 0.1 Author: Anja Beuth Tutorial: Systemportierung per Datenbank-Sicherung version: 0.1 Author: Anja Beuth Table of contents 1.1.1... 5 Voraussetzungen auf dem Zielsystem... Datenbank sichern... Datenbanksicherung auf Zielsystem

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

Logo Meibers. Handbuch

Logo Meibers. Handbuch Logo Meibers Handbuch Copyright EDV-Bernhard 2012 HINWEISDie in diesem Handbuch enthaltenen Angaben sind ohne Gewähr und können ohne weitere Mitteilung geändert werden. Die EDV-Bernhard GbR geht hiermit

Mehr