XML und relationale Datenbanken

Größe: px
Ab Seite anzeigen:

Download "XML und relationale Datenbanken"

Transkript

1 Marc Düfrain Jochen Rondorf Daniel Schmidt Michael Schmidt Thomas Spinner Studienarbeit zur Erlangung eines Leistungsnachweises im 7. Semester zum Fach Wissensmanagement Stand: Januar 2002

2 1 Einleitung Relationale Datenbanksysteme mit XML - Unterstützung 4 2 Speicherung von XML Dokumenten Anforderungen an die XML - Speicherung in Datenbanksystemen Arten von XML Dokumenten: Dokumentzentriert Volltextindex Volltextindex und XML Index Semistrukturiert Datenzentriert Vollständiges Mapping Individuelles Mapping Generieren von XML Dokumenten Abbilden des vollständigen Inhaltes der Datenbank Abbilden von Anfrageergebnissen Einsatz individueller Transformationsvorschriften 9 4 Theorie XML - Dokumente Document Object Model (DOM) SAX Die XML - Datenbank Realisierungsmethoden XDBC und XUpdate: Neue Standards müssen her Mapping Dokumentzentrierte Mappingverfahren Datenzentrierte Mappingverfahren DTDs von Datenbank-Schemas generieren und umgekehrt Fazit zu Mapping 18 5 DB2XML Einleitung GUI - Applikation Menüpunkt DTD Menüpunkt Database Menüpunkt XML Attributes Menüpunkt XML Elements Menüpunkt Stylesheets Auswahlmöglichkeit Database Query Menüpunkt Properties Kommandozeilen-Applikation Anwendungsbeispiel Fazit zu DB2XML 23 6 Microsoft SQL Server http - Unterstützung XML Views (XML Sichten) XDR Schemas 24 Stand Januar 2002 S. 2 von 45

3 6.3.1 XDR - Schema mit Anmerkungen Zuordnungsschema XPath Unterstützte Funktionalität Nicht unterstützte Funktionalität Speicherung von XML Dokumenten OPENXML Bulk Loading XML Generierung von XML Dokumenten FOR XML 33 7 Eine Praxisanwendung Die Ausgangslage Die Herausforderung Der Export der XML - Datei Der Import der XML-Datei Die vollständige Prozedur zum Einlesen von Bestellungen 41 8 Gesamtfazit 42 9 Zukunftsaussichten Literaturangaben Anhang A 45 Stand Januar 2002 S. 3 von 45

4 1 Einleitung Datenbanken haben sich im Laufe der Jahre als ideales Werkzeug zur Verwaltung und Pflege großer Datenvolumen entwickelt. Im Zuge der rasanten Verbreitung von neuen XML - Standards stehen Entwickler sehr schnell vor dem Problem, die Vorteile beider Technologien zu nutzen. Dazu hat heute nahezu jedes Datenbank-Produkt und Datenbank-Tool den Begriff "XML" in seine Featureliste aufgenommen. Bestandsaufnahme So umfangreich das Angebot an Lösungen zur Speicherung von XML - Daten ist, so verschiedenartig sind auch die Techniken zu deren Realisierung, so dass man damit ganze Bücher füllen könnte. Generell lassen sich die verwendeten Techniken durch ihre Eigenschaften in folgende drei Kategorien einordnen: o XML - Erweiterte Datenbank (XED) -- der Klassiker. Eine existierende Datenbank, meist ein relationales DBMS, wurde durch den Hersteller oder einen Drittanbieter mit einer XML - Mappingschicht versehen. Diese Mappingschicht verwaltet den lesenden und zum Teil schreibenden Zugriff auf die gespeicherten XML - Daten. Das Mapping der Daten von und nach XML unterscheidet sich bei den angebotenen Lösungen zum Teil sehr stark, und XML - Metadaten und -Struktur können durch das Mapping sogar verloren gehen. Der Zugriff und die Bearbeitung der Daten erfolgt entweder durch standardisierte XML - Technologien (XPath, DOM und SAX) oder mittels SQL. o Native XML - Datenbank (NXD) -- der wohl jüngste Spross in der Entwicklung von XML - Datenbanken. Diese Lösungen sind dadurch gekennzeichnet, von Anfang an für die effektive Speicherung und Bearbeitung von XML - Daten entworfen zu sein. Der Zugriff und die Bearbeitung der Daten erfolgt ausschließlich durch XML - Technologien wie XPath, DOM und SAX. Die zugrunde liegende Datenbank erhält dabei die Struktur und die Metadaten der XML - Dokumente vollständig. In die Kategorie der NXDs fallen das unter GPL entwickelte dbxml sowie die Produkte Tamino und X-Hive/DB. o Hybride XML - Datenbank (HXD) -- interessante Nischenlösungen wie die Ozone- DB und Excelon. Sie lassen sich nicht eindeutig in die vorgenannten Kategorien einordnen, gehören sogar teilweise zu beiden. Solche Lösungen können je nach aktuellen Applikationsanforderungen als XED oder NXD verwendet werden. o Der weitere Teil wird sich ausschließlich mit relationalen Datenbanken beschäftigen. 1.1 Relationale Datenbanksysteme mit XML - Unterstützung Alle großen relationalen DBMS bieten inzwischen Möglichkeiten für die Speicherung von XML - Dokumenten. Hier gibt es zwei wesentliche Ansätze. Der erste Ansatz ist eine zerlegende Abbildung von XML Dokumenten auf relationale Datenstrukturen, d.h. aus einem XML - Dokument werden ein oder mehrere Zeilen in einer oder mehreren Tabellen, wobei die Tabellen eine relationale Modellierung der Anwendungswelt darstellen. Das hat den Vorteil, dass man auf Daten, die als XML geliefert werden, auch mit rein relationalen Mitteln zugreifen kann, und dass umgekehrt Daten, die in relationalen Datenbanken vorliegen, in ein XML - Format konvertiert werden können. Eine allgemeingültige (generische) Abbildung, die z.b. aus den Namen von XML - E- lementen entsprechende Tabellennamen ableitet, stößt schnell an ihre Grenzen. Daher ist normalerweise eine explizite Abbildungsvorschrift nötig. Dieser Abbildungsansatz ist im allgemeinen nicht verlustfrei: Er hat seine Grenzen bei XML - Dokumenten mit mixed content, Kommentaren oder processing instructions, weil diese sich mit den Abbil- Stand Januar 2002 S. 4 von 45

5 dungsvorschriften nicht erfassen lassen (Kommentare z.b. können an beliebigen Stellen des Dokumentes auftreten und sich im XML Schema nicht beschrieben). Deshalb wird dieser Ansatz hauptsächlich bei eher datenorientierten XML - Dokumenten angewendet. 2 Speicherung von XML Dokumenten 2.1 Anforderungen an die XML - Speicherung in Datenbanksystemen Neben den allgemeinen Forderungen an ein Datenbankmanagementsystem (DBMS), wie z.b. transaktionsorientierte Verarbeitung (ACID), Datenschutz und effiziente Anfrageverarbeitung, gibt es für die XML - Speicherung spezielle Anforderungen. XML - Dokumente werden oft charakterisiert als datenorientiert oder textorientiert. Die datenorientierten XML - Dokumente (z.b. Preislisten) zeichnen sich durch eine regelmäßige Struktur aus, in der Reihenfolge oft keine Rolle spielt. In textorientierten XML - Dokumenten ist Reihenfolge oft sehr wichtig, und auch mixed content, d.h. Elemente, die als Inhalt sowohl Elemente als auch Text haben, ist typisch. XML - Dokumente haben oft sowohl datenorientierte als auch textorientierte Anteile. Daraus ergibt sich für die Anfragemöglichkeiten, dass man sowohl nach (z.b. numerischen) Werten im Dokument fragen möchte (z.b. ist der Preis höher als ein bestimmter Wert?) als auch nach Textanteilen (welche Dokumente enthalten das Wort»Datenbanksystem«?). XML - Dokumente können ein Schema haben, das ihre Struktur beschreibt, aber dieses ist optional. Ein solches Schema beschreibt u.a. die erlaubte Verschachtelung von XML - Elementen ineinander und gibt auch an, ob ein Element mehrfach vorkommen oder fehlen darf. Insbesondere bei Dokumenten mit optionalen Anteilen oder XML - Dokumenten unbekannten Schemas ist daher auch eine strukturbasierte Anfrage wichtig (welche XML -Dokumente enthalten das Element»Telefonnummer«mehrfach? ). Neben diesen Anfragemöglichkeiten ergeben sich aus der im Vergleich zu relationalen Tabellen komplexen Struktur von XML - Dokumenten weitere Anforderungen, wie z.b. selektive Änderung nur von Dokumentteilen oder gezielter Datenschutz (Autorisierung) für ausgewählte Dokumentteile. Außer diesen neuen Anforderungen gelten natürlich alle Anforderungen an ein allgemeines DBMS auch für den Fall der XML - Speicherung. 2.2 Arten von XML Dokumenten: o dokumentzentriert o semistrukturiert o datenzentriert 2.3 Dokumentzentriert Dokumentzentrierte XML Dokumente können in Dateien oder BLOBS (Binary Long Objects) oder CLOBS (Charcter Large Object) einer Datenbank gespeichert werden. Die Speicherung in BLOBS wird hauptsächlich für große dokumentzentrierte XML Dokumente vorgenommen. Da die Struktur des XML - Dokumentes dem relationalen DBMS unbekannt ist, wird dieser Ansatz auch opak genannt. Spezielle Funktionen, die in SQL - Anfragen eingebettet werden können, dienen zur Suche in diesen Dokumenten. Die Struktur des XML - Dokumentes ist für das SQL -System nicht sichtbar. Dadurch ist z.b. der Datenschutz für einzelne Dokumentteile hierbei schwierig. Auch eine datenorientierte Indizierung ist nicht direkt möglich. DB2 von IBM verwendet hier z.b. eigene relationale Tabellen, in denen Werte des XML - Dokumentes dupliziert und dann indiziert werden. Stand Januar 2002 S. 5 von 45

6 Es wird für den Zugriff ein Index angelegt. Man unterscheidet hierbei zwischen zwei Strategien: Volltextindex Dieser Index verfolgt folgendes Prinzip: Für die in den Dokumenten vorkommenden Stichworte wird ein Index gepflegt, der die Abbildungen zwischen Stichworten und Dokumenten speichert. o Der Volltextindex besitzt die hier aufgeführten Eigenschaften: o es ist keine Schemabeschreibung erforderlich o die Dokumente bleiben im Original erhalten o der Dokumentcharakter ist dokumentzentriert o Anfragen erfolgen über die Text Entender - Funktionalität o Es ist bei der Ausgabe kein Parsen notwendig Volltextindex und XML Index Neben den angesprochenen Funktionen des Volltextindex erweitert der XML Index die Abbildungen um Relationen zwischen den Elementen und Attributen. So wird beim XML Index nicht nur der Wert eines Attributes indiziert, sondern auch die Elementbezeichnung. Man unterscheidet hierbei zwischen einem Key - Word Index und einem Element-Index: Stand Januar 2002 S. 6 von 45

7 Eigenschaften des kombinierten Volltext- und XML Index: o es ist keine Schemabeschreibung erforderlich o die Dokumente bleiben im Original erhalten o der Dokumentcharakter ist dokumentzentriert o Anfragen erfolgen über die Text Entender - Funktionalität o Es ist bei der Ausgabe kein Parsen notwendig 2.4 Semistrukturiert Bei semistrukturierten XML Dokumenten wie die Datenstruktur gespeichert. Dieses kann verschiedenen Strukturen festgehalten werden. 2.5 Datenzentriert Bei datenzentrierte XML Dokumenten wird eine strukturelle Speicherung in Datenbanken vorgenommen. Für die Abbildung von Strukturen ist es notwendig eine DTD oder Schema zu besitzen. Die Anfragen an die Datenbanken besitzen meistens SQL - Funktionalitäten und sind row - set orientiert (zeilenorientiert). Stand Januar 2002 S. 7 von 45

8 2.5.1 Vollständiges Mapping Eigenschaften bei der Abbildung der XML Struktur auf eine Datenbank: o es ist eine Schemabeschreibung erforderlich o die Dokumente bleiben nicht Original erhalten o der Dokumentcharakter ist datenzentriert o Anfragen erfolgen über SQL oder Transformationen von XML Anfragen o Eine Rekonstruktion von Dokumenten ist nur teilweise möglich Individuelles Mapping Eigenschaften bei der Abbildung der XML Struktur auf eine Datenbank: o es ist eine Schemabeschreibung erforderlich o die Dokumente bleiben nicht Original erhalten o der Dokumentcharakter ist datenzentriert o Anfragen erfolgen über SQL oder Transformationen von XML Anfragen o Eine Rekonstruktion von Dokumenten nicht möglich o Es sind zwingend Mapping - Vorschriften notwendig 3 Generieren von XML Dokumenten 3.1 Abbilden des vollständigen Inhaltes der Datenbank Eine relationale Datenbank wird als eine dreistufige Hierarchie von zwischen Datenbank Relation Attribut angesehen. Eigenschaften bei der vollständigen Abbildung Datenbankinhaltes: o Die Ausgabe der Datenbank ist vollständig o Es sind keine Informationen erforderlich o Es gibt kein variables Ausgabeformat o Datentypen werden durch DTDs oder XML Schema definiert o Speicherung von Schlüsseln/Fremdschlüsseln ist über ID/IDREF implementiert o Parser müssen DTD - Erweiterungen auswerten 3.2 Abbilden von Anfrageergebnissen Anfragen an das Datenbanksystem erfolgen meist über SQL oder SQL ähnliche Befehle. Die Antwort der Datenbank ist ein XML Dokument. Eigenschaften des Einsatzes von Datenbankanfragen: o Die Ausgabe der Datenbank erfolgt in Teilen o Es sind Informationen erforderlich o Es gibt kein variables Ausgabeformat o Datentypen werden durch DTDs oder XML Schema definiert o Speicherung von Schlüsseln/Fremdschlüsseln ist über ID/IDREF implementiert Stand Januar 2002 S. 8 von 45

9 3.3 Einsatz individueller Transformationsvorschriften Bei Einsatz individueller Transformationsregeln teilt man diese meist in zwei Teilbereiche auf. Zum einen in SQL - Anfragen zur Auswahl relevanter Daten und zum anderen in XML QL oder XQuery zur Darstellung der Syntax des Zielformates. Eigenschaften des Einsatzes von individuellen Transformationsregeln: o Die Ausgabe der Datenbank erfolgt vollständig oder in Teilen o Es sind Informationen erforderlich - Datenbankanfrage o Es gibt ein variables Ausgabeformat o Datentypen werden durch DTDs oder XML Schema definiert o Speicherung von Schlüsseln/Fremdschlüsseln ist über ID/IDREF implementiert 4 Theorie 4.1 XML - Dokumente Bei der Extensible Markup Language, abgekürzt XML, handelt es sich um eine eingeschränkte Form des SGML, der Standard Generalized Markup Language, auf der zum Beispiel auch HTML beruht. Der Unterschied zwischen HTML und XML ist, dass HTML universelle Möglichkeiten zur Darstellung von Daten besitzt, wogegen XML universelle Möglichkeiten bietet, um mit Daten direkt zu arbeiten. XML - Dokumente unterteilen sich in zwei Bereiche, den Initialisierungsteil und den Datenteil. Der erste Teil dient der Einordnung des Dokuments. Es werden Angaben über die Art des Dokuments, die zugrunde liegende XML - Version oder die Spezifikation gemacht. Der zweite Teil enthält den eigentlichen Inhalt des Dokuments. Dieser wird durch Elemente, sogenannte Tags, in Speicherungseinheiten unterteilt, umschlossen und dadurch strukturiert. Die Tags können in dem XML - Dokument oder in einem eigenständigen Dokument selber über eine Document Type Definition (DTD) definiert werden. Hier wird die Position der Tags, Attribute und Elemente und deren Verbindung untereinander im Dokument festgelegt. In den DTDs werden also die Metadaten zu den verarbeitenden XML - Dokumenten gespeichert. Eine Erweiterung der DTD ist das XML - Schema, welches Stand Januar 2002 S. 9 von 45

10 eine differenziertere Typisierung der Elemente und Einschränkungen der Wertebereiche erlaubt. Weiterhin unterscheidet die W3C XML - Recommendation [XML Rec98] zwischen wohlgeformten (wellformed) und gültigen (valid) XML - Dokumenten. Ein XML - Dokument ist wohlgeformt, wenn es o ein oder mehrere Elemente besitzt o und davon genau eins das Wurzelement, das alle anderen Elemente einschließt. o Die Schachtelungsregel muss eingehalten werden: Wenn das "Start" - Tag im Inneren eines anderen Tags liegt, muss das "Ende" - Tag auch hier liegen. o Attributwerte müssen in Hochkommas oder Anführungszeichen stehen und explizit deklariert werden. Bei den hier angeführten Punkten handelt es sich um eine Auswahl von Kriterien, die für ein wohlgeformtes Dokument gelten müssen. Alle Kriterien sind in der XML 1.0 Spezifikation nachzulesen [XML Rec98]. Um ein gültiges XML - Dokument zu erhalten, muss zusätzlich eine DTD oder ein XML - Schema vorhanden sein, die der XML - Spezifikation genügen. 4.2 Document Object Model (DOM) Im folgenden dieser Studienarbeit ist öfters von einer DOM - Struktur die Rede. In diesem Kapitel wird kurz auf DOM eingegangen. Im nächsten wird es mit dem SAX - Projekt verglichen. Nach Definition des W3C ist das Document Object Model a platform- and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents. The document can be further processed and the results of that processing can be incorporated back into the presented page. [DOM01] Die DOM - Gruppe des W3C-Konsortiums hatte sich seiner Zeit das Ziel gesetzt, eine Programmierschnittstelle - bestehend aus Objekten und Methoden - für XML und HTML zu schaffen. DOM ist in drei Teile aufgeteilt, den Core -, HTML - und den XML - Teil. Der Core - Teil stellt eine Reihe von Objekten, die jedes strukturierte Dokument repräsentieren können, zur Verfügung. Die Schnittstelle ist in der Lage, jedes HTMLund XML - Dokument zu repräsentieren. Der Inhalt eines Dokuments kann über die Core - Schnittstelle, die kompakt ist und mit wenig Design daher kommt, verändert werden. Für HTML - und XML - Dateien ist es zwar möglich, via Core - DOM auf den Inhalt zuzugreifen; DOM stellt aber mit den HTML- und XML - Schnittstellen einen einfacheren und direkteren Zugriff auf höherem Level für diese Dateiformate bereit. Hierbei wird die Core - Spezifikation streng eingehalten. Die DOM - Arbeitsgruppe wird durch namhafte Industrievertreter unterstützt, darunter ArborText, IBM, Inso EPS, JavaSoft, Microsoft, Netscape, Novell, die Object Management Group, SoftQuad, Sun Microsystems, Texcel, und das W3C. Chef der W3C-DOM-Arbeitsgruppe ist Lauren Wood von SoftQuad. Software-Firmen können über die DOM-API Zugriff auf ihre meist properietären Datenstrukturen gewähren, um Inhaltverantwortliche zu unterstützen, produktabhängigen Datenzugang zu vermeiden und die Zusammenarbeit über das Web zu motivieren. Stand Januar 2002 S. 10 von 45

11 4.3 SAX DOM besteht aus drei Leveln: o Level 1 konzentriert sich auf die Core -, HTML - und XML - Dokumentenmodelle. Es beinhaltet Funktionalität für die Dokumentnavigation und manipulation. o Level 2 umfasst ein Stylesheet - Objektmodell und definiert Funktionalität zur Manipulation der Format-Informationen (Styles) innerhalb eines Dokuments. Darüber hinaus ermöglicht es Sprünge zu verschiedenen Stellen im Dokument, definiert ein Ereignismodell und unterstützt XML - Namensräume. o Level 3 (in Entwicklungsphase) ist verantwortlich für das Öffnen und Speichern von Dokumenten. Über Inhaltsmodelle (etwa DTDs und XML - Schemata) kann die Gültigkeit von Dokumenten nachgewiesen werden. Formate und Ansichten werden ebenso unterstützt wie Schlüsselereignisse und Ereignisgruppen. o Weitere Level sind in Planung. Diese könnten z.b. im Bereich Windowsysteme (GUI), Benutzerinteraktion, Sicherheit, Abfragesprache-Schnittstelle und Multithreading inklusive Synchronisation weitere Funktionalität bieten. Als Alternative zu DOM sei hier noch kurz das SAX - Projekt erwähnt. SAX is the Simple API for XML, originally a Java-only API. SAX was the first widely adopted API for XML in Java, and is a de facto standard. The current version is SAX 2.0, and there are versions for several programming language environments other than Java. [SAX01] SAX arbeitet im Gegensatz zum baumstruktur-basierten DOM event - basiert. Ein kurzes Beispiel verdeutlicht den Unterschied: Ein XML - Dokument sieht folgendermaßen aus: <?xml version="1.0"?> <doc> <para>hello, world!</para> </doc> Ein event - basiertes XML-API (wie SAX) wandelt die Struktur des Dokuments in lineare Events (Ereignisse) um: start document start element: doc start element: para characters: Hello, world! end element: para end element: doc end document Das Suchen eines bestimmten Schlüsselwortes in großen XML - Dateien kann durch dieses Verfahren erheblich schneller und ressourcenschonender vonstatten gehen. Es arbeitet stream - basiert und kann daher auch in nur teilweise eingelesenen Dateien Ergebnisse hervor bringen. Dafür geht die Struktur der ineinander verschachtelten E- lemente verloren. Welche Technologie im Allgemeinen vorzuziehen ist, lässt sich nicht sagen. Im Einzelfall sind die Vor- und Nachteile jeder Technologie gegeneinander abzuwägen. Stand Januar 2002 S. 11 von 45

12 4.4 Die XML - Datenbank Realisierungsmethoden So umfangreich das Angebot an Lösungen zur Speicherung von XML - Daten ist, so verschiedenartig sind auch die Techniken zu deren Realisierung, so dass man damit ganze Bücher füllen könnte. Generell lassen sich die verwendeten Techniken durch ihre Eigenschaften in folgende drei schon beschriebene Kategorien einordnen: o XML - Erweiterte Datenbank (XED) o Native XML - Datenbank (NXD) o Hybride XML - Datenbank (HXD) XDBC und XUpdate: Neue Standards müssen her Allen angebotenen XML - Datenbanklösungen ist dabei jedoch ein Problem gemein: Anerkannte Standards wie SQL und ODBC/JDBC, bestens bekannt aus der "relationalen Welt", gibt es im Bereich XML - Datenbanken nicht. Jeder Hersteller kocht hier leider noch sein eigenes Süppchen und bietet exklusiv properietäre Lösungen an. Dieses Problem haben einige Firmen und unabhängige Entwickler erkannt und aus diesem Grund die XML:DB-Initiative gegründet, die sich explizit mit der Entwicklung neuer XML - Datenbankstandards beschäftigt. Als wichtigstes Projekt haben die Mitglieder von XML:DB die Entwicklung einer standardisierten Programmierschnittstelle (API) für XML - Datenbanken gestartet. Als Pendant zu ODBC/JDBC soll XDBC (XML Database Connectivity) in Zukunft die Entwicklung von Applikationen auf Basis von XML - Datenbanken erleichtern. Diese einheitliche API soll es den Entwicklern ermöglichen, die verwendete XML - Datenbank bei Bedarf durch eine andere XDBC - konforme Lösung zu ersetzen. Die Mitglieder der entsprechenden XML:DB-Arbeitsgruppe haben bereits erste Vorschläge für die API unterbreitet, die durch die Community diskutiert und verifiziert werden. Ein weiterer Schwerpunkt der XML:DB-Initiative liegt in der Entwicklung einer XML - Update- Sprache, dem Xupdate - Projekt. Denn jeder Programmierer, der schon einmal versucht hat, XML - Daten in einer Datenbank zu bearbeiten, ist bisher dazu gezwungen, die DOM API zu benutzen. Hier soll die vorgelegte Xupdate - Spezifikation eine praktische, dem SQL Update ähnliche, Lösung bieten. 4.5 Mapping Beim Mapping handelt es sich um die Abbildung von XML - Daten auf eine relationale DB und umgekehrt von einer DB in ein XML - Dokument. Um aus Daten, die in einer relationalen DB gespeichert sind, ein XML - Dokument zu generieren, bedarf es eines Algorithmus, der die Strukturinformationen (DTD oder XML - Schema) aus den Daten extrahiert. Die meisten hierfür gebräuchlichen Algorithmen nutzen in Anlehnung an das DOM die Graphenstruktur der XML - Dokumente. Um andererseits XML - Dokumente effizient zu speichern und auch wieder abfragen zu können, muss das DBMS die innere Struktur der gespeicherten Dokumente kennen. Diese Struktur ist in der DTD oder im XML - Schema definiert. Allerdings verlangt der XML - Standard, dass Dokumente auch ohne Schemadefinition verarbeitet werden müssen. Daher muss ein DBMS auch in der Lage sein, ein XML - Dokument ohne DTD oder Schema zu speichern. Weiterhin muss die Möglichkeit bestehen, neue Elemente zu Dokumenten hinzuzufügen, ohne die bestehende Struktur zu ändern. Probleme können auch auftreten, wenn ein zu speicherndes Element nicht durch die DTD bekannt ist. Dann muss entschieden werden, ob dynamisch ein neues SQL - Schema erzeugt und die DB reorganisiert wird, oder ob das Dokument ganzheitlich in Form einer Textdatei gespeichert werden soll.[daum2000] Stand Januar 2002 S. 12 von 45

13 Bei diesem Ablegen von XML - Dokumenten in Datenbanken ist die Unterscheidung von daten-zentrierten und dokument-zentrierten Dateien von besonderer Bedeutung, da RDBS wie SQL für Abfragen auf dokument-zentrierte Dokumente schlecht geeignet sind Dokumentzentrierte Mappingverfahren Um XML - Daten des dokumenten-zentrierten Typs in Relationen zu transformieren gibt es folgenden Ansatz: die Speicherung von einem kompletten XML - Dokument wird in einer einzigen Spalte einer Tabelle vorgenommen. Das Dokument kann als Binary Large Object (BLOB) abgelegt werden. Die Nachteile sind hier die Probleme bei Abfragen auf dem gespeicherten Dokument und bei Einfügeoperationen in das Dokument. Weiterhin ist es schwerer, neue Dokumente aus bestehenden zu erzeugen Datenzentrierte Mappingverfahren Dieser Abschnitt befasst sich mit der Frage, wie datenzentrierte XML - Dokumente und relationale Datenbankstrukturen zusammengeführt werden können. Hierbei gibt es zwei grundlegend unterschiedliche Mapping - Verfahren: das "vorlagenbasierte Mapping Verfahren" (Template - Driven Mapping) ermöglicht lediglich den Transfer von Informationen aus Datenbankinhalten in XML - Dokumente. Dagegen transferiert das "modellbasierte Verfahren" (Model - Driven Mapping) Informationen sowohl von einer Datenbank in ein XML - Dokument als auch umgekehrt Das vorlagenbasierte Verfahren Beim vorlagenbasierten Verfahren findet kein vordefiniertes, nach einem bestimmten Algorithmus arbeitendes Mapping statt, sondern SQL Statements werden in XML Templates (Schablonen) eingebaut. Das folgende Beispiel aus [Bourret2000] ist eine Möglichkeit, eine Anfrage an die Datenbank in ein XML Template mit dem Tag <SelectStmt> einzubetten. <?xml version="1.0"?> <FlightInfo> <Intro>The following flights have available seats:</intro> <SelectStmt>SELECT Airline, FltNumber, Depart, Arrive FROM Flights</SelectStmt> <Conclude>We hope one of these meets your needs</conclude> </FlightInfo> Hierbei ist eine sogenannte Middelware für den Datenaustausch zwischen dem XML - Dokument und der DB zuständig. Das von der Middleware zurückgelieferte Ergebnis könnte folgendermaßen aussehen: <?xml version="1.0"?> <FlightInfo> <Intro>The following flights have available seats:</intro> <Flights> <Row> <Airline>ACME</Airline> <FltNumber>123</FltNumber> <Depart>Dec 12, :43</Depart> <Arrive>Dec 13, :21</Arrive> </Row>... </Flights> <Conclude>We hope one of these meets your needs</conclude> </FlightInfo> Stand Januar 2002 S. 13 von 45

14 Templates werden also eingesetzt, um spezielle Informationen, zum Beispiel aus einer SQL - Datenbank in ein XML - Dokument zu übertragen. Weiterhin bietet das vorlagenbasierte Mapping in Verbindung mit XML - Stylesheets ein sehr einfaches Verfahren, um dynamisch Webseiten mit Inhalten aus relationalen Datenbanken darzustellen. Da dieser Ansatz aber unidirektional ist, gibt es keine Möglichkeit der Übertragung von XML - Daten zurück in die Datenbank. Folglich eignet sich dieser Ansatz nicht zur Datenverarbeitung sondern lediglich zur Datenpräsentation Das modellbasierte Verfahren Bei diesem Verfahren wird dem Mapping ein Datenmodel zugrunde gelegt, wodurch man Flexibilität verliert, da das Datenmodell die auszutauschenden Datenstrukturen vorher definiert. Kommt es zu einem Datenbankupdate oder soll die Struktur der ausgetauschten Daten verändert werden, muss das zugrunde liegende Mapping Model verändert oder angepasst werden und gegebenenfalls sogar das Mapping neu durchgeführt werden. Man erreicht Einfachheit, da das Mapping auf einem konkreten Model basiert und damit aufwendige Transformationsschritte erspart bleiben. Zusätzlich ist bei einem konstanten oder sich selten ändernden Datenbestand das Mapping selbst nur gelegentlich durchzuführen. Beim modellbasierten Mapping gibt es zwei gängige Verfahren: das Tabellen-Model (Tabel Model) und das Objekt Modell (Object Model), das die Basis für das objektrelationale Modell bildet Das Tabellen-Modell Beim "Table-based Mapping" handelt es sich um ein einfaches und somit auch wenig flexibles Verfahren. Es können mit diesem Modell nur XML - Dokumente in einer relationalen Datenbank abgebildet werden, die eine maximale Tiefe von drei Verschachtelungsebenen haben. Das folgende Beispiel nach [Bourret01] zeigt die Zuordnung der Struktur des XML - Dokuments zu den Spalten und deren Inhalt der relationalen Datenbank. XML - Dokument relationalen Datenbank <A> <B> <C>ccc</C> Table A <D>ddd</D> <E>eee</E> C D E </B> <B> <=> <C>fff</C> ccc ddd eee <D>ggg</D> fff ggg hhh <E>hhh</E> </B> </A> Stand Januar 2002 S. 14 von 45

15 Somit sieht die Struktur des XML - Dokumentes aus Sicht der relationalen Datenbank wie folgt aus: <Table> <Row_1> <Column_1>...</Column_1>... <Column_n>...</Column_n> </Row_1>... <Row_n> <Column_1>...</Column_1>... <Column_n>...</Column_n> </Row_n> </Table> Falls mehrere Tabellen in einem XML - Dokument abgebildet werden sollen, können diese durch eine weitere Ebene (hier: <Tables>) zusammen gefasst werden: <Tables> <Table_1> <Row> <Column_1>...</Column_1>... <Column_n>...</Column_n> </Row>... </Table_1>... <Table_n> <Row> <Column_1>...</Column_1>... <Column_m>...</Column_m> </Row>... </Table_n> </Tables> Für den Fall, dass nicht der vollständige Tabelleninhalt nach XML transferiert werden soll, kann der Inhalt des table - Tags auch als Ergebnis einer Anfrage (resultset) an die DB interpretiert werden. Sind in dem XML - Dokument nur unvollständige Datensätze, also nicht alle Spalten einer Tabelle enthalten, handelt es sich um eine spezielle Sicht (view) auf die Datenbank. Die Abbildung der XML - Elemente erfolgt also auf Meta- Elemente der Datenbank, wie Tabellen, Spalten und Views. Die Zuordnung der XML - Elemente zu den entsprechenden Elementen der Datenbank geschieht meist über ihre konkreten Namen oder über zusätzlich vereinbarte Attribute. Der eigentliche Vorteil dieses Mappingsverfahrens ist seine Einfachheit und die damit verbundene leichte Implementierung. Ein weiterer Vorteil ist der schnelle und effiziente Datenaustausch zwischen mehreren relationalen Datenbanken. Der Nachteil dieses Modells ist, dass die Struktur nicht abgebildet wird, sondern nur die Elemente übergeben werden. Weiterhin gehen die Dokumenteninformationen (DTDs) die Kommentare und die Bearbeitungsanweisungen verloren und es können nur XML - Dokumente mit einer Tiefe von maximal 3 Ebenen verarbeitet werden. Stand Januar 2002 S. 15 von 45

16 Objekt-relationale Mapping Beim objekt-relationalen Mapping werden die Daten auf korrespondierende Objekte abgebildet, die wiederum zu hierarchischen Baumstrukturen angeordnet werden. Auf diese Weise kann z.b. aus dem folgenden XML - Fragment ein sogenannter datenspezifischer Objektbaum generiert werden. (nach [Klein01]) <Orders> <SalesOrder SONumber="12345"> <Customer CustNumber="543">... </Customer> <Line LineNumber="1"> <Product Name="Cherries">... </Product> <Quantity Unit="ton">2</Quantity> </Line> </SalesOrder> </Orders> Bei dieser Abbildung werden die Elemente zu Objekten und die Subelemente und die Attribute werden zu Eigenschaften von Objekten. Hier im Beispiel an einem Ausschnitt des vorangegangenen Quelltextes: Komplexe Elemente <Line LineNumber="1"> <Product name="cherries"> </Product> <Quantity Unit="ton"> 2 </Quantity> </Line> werden Objekte Subelemente und Attribute <Line LineNumber="1"> <Product Name="Cherries"> </Product> <Quantity Unit="ton> 2 </Quantity> </Line> werden Eigenschaften von Objekten Das so entstandene Modell kann dann direkt auf eine objektorientierte oder eine hierarchische Datenbank abgebildet werden. Der hierzu gehörige daten-spezifische Objektbaum sieht wie folgt aus: SalesOrder Customer Line Product Stand Januar 2002 S. 16 von 45

17 Sollen die Daten auf eine relationale Datenbank abgebildet werden, ist schließlich noch ein objekt-relationales Mapping durchzuführen. Dabei kann entweder eine eindeutige Eigenschaft eines Objekts als Primärschlüssel dienen, oder ein neues Attribut wird speziell zu diesem Zweck definiert. Im oberen Beispiel wird also die Eigenschaft so- Number in der zugehörigen Relation SalesOrder als Primärschlüssel definiert und in der entsprechenden Relation das Subelement Line als Fremdschlüssel aufgenommen. SalesOrder Line SoNumber Line... LineNumber ProductName cherries Das objekt-relationale Mapping besteht also aus zwei Bereichen. Zuerst werden die XML - Strukturinformationen (DTD oder Schema) in ein Objektschema gemappt. Danach wird dieses Schema in das Datenbankschema umgewandelt. Diese beiden Schritte werden von den meisten Datenbanksystemen für XML zu einem einzigen Schritt zusammengeführt. Zur Veranschaulichung dieses Verfahrens ist hier ein Beispiele nach [Bourret01] aufgeführt: XML Objects Tables ============= ============ =============== Table A <A> object A { <B>bbb</B> B = "bbb" B C D <C>ccc</C> <=> C = "ccc" <=> <D>ddd</D> D = "ddd" </A> } bbb ccc ddd Dieses Verfahren hat den Vorteil, dass nahezu alle Arten von XML - Dokumenten verarbeitet werden können und dass dabei die logische Struktur der Daten für jede Verarbeitungsrichtung erhalten bleibt. Das objekt-relationale Modell wird von vielen Datenbanksystemen, wie zum Beispiel BM DB2, Oracle8i und Microsoft SQL Server, für die Speicherung von XML genutzt. 4.6 DTDs von Datenbank-Schemas generieren und umgekehrt Diese Funktionalität ermöglicht die Speicherung und Rückgewinnung strukturierter XML - Dokumente, die typischerweise in Verbindung mit Strukturinformationen (DTDs) aufgebaut sind. Dabei wird die DTD für die Abbildung der hierarchischen Struktur und der Einbettung der XML - Elemente und Attribute auf relationale Schemata herangezogen, oder die Struktur der Relationen der DB wird zum Generieren der DTD verwendet. Diese Abbildungen können bei einigen Systemen auch automatisch erfolgen, indem sie entweder aus einer gegebenen DTD ein relationales Schema generieren, oder umgekehrt aus einem gegebenen Schema eine DTD für die zu verarbeitenden XML - Dokumente ableiten (wie zum Beispiel bei: Oracle8i). Genauso kann eine Abbildung zwischen den benutzerdefinierten Tabellen und XML Elementen auch manuell vorgenommen werden (wie zum Beispiel bei: DB2XML Extender von IBM). Stand Januar 2002 S. 17 von 45

18 4.7 Fazit zu Mapping Die Entwicklung von Modellen und Algorithmen für das Mapping auf relationale Datenbanken ist noch nicht abgeschlossen. Jedes der einzelnen Modelle macht zum Teil große Abstriche und lässt weitergehende Fragen offen. Zum Beispiel ist unklar, wie die durch Vereinfachungsregeln verlorengegangenen Strukturinformationen der DTDs wieder zurückgewonnen werden können, oder wie dokumentzentrierte XML - Dokumente für Abfragen und Aktualisierungen gut in einer relationalen Datenbank gespeichert werden können. Weiterhin darf der Aufwand für das Mapping der Daten nicht unterschätzt werden, und bei unstrukturierten Dokumenten muss auf eine effiziente Speicherung der Elemente in Tabellen verzichtet werden. 5 DB2XML 5.1 Einleitung DB2XML is a tool for transforming data from relational databases into Extensible Markup Language (XML) documents. [DB2XML99]. Die Homepage des Autors Volker Turau umschreibt das 100%ig in Java implementierte DB2XML als Tool, um Daten von relationalen Datenbanken in Extensible Markup Language (XML) Dokumente zu transformieren. DB2XML deckt drei Hauptfunktionen ab, nämlich das Transformieren von Ergebnissen aus Datenbankabfragen oder gesamten Datenbanken in XML - Dokumente oder HTML-Dokumente (über XSLT - Stylesheets), die Auslieferung von Attributangaben, die Charakteristika der Daten (insbesondere Metadaten) beschreiben und die einfache Integration von XSLT Stylesheet - Prozessoren. Dabei kann es benutzt werden als: o Standalone - Tool (mit GUI oder Kommandozeile), o Servlet, um dynamisch XML - Dokumente zu generieren oder o Java-Bibliothek (DB2XML API) Die generierten XML - Daten sind als W3C-DOM-Objekt oder in einer DB2XMLspezifischen Datenstruktur verfügbar. Auf diese Objekte kann via Stream oder Byte- Array zugegriffen werden. DB2XML besitzt eine benutzerfreundliche grafische Benutzerschnittstelle (GUI = graphical user interface). Der Zugriff auf Datenbanken erfolgt über JDBC - Treiber. Es benötigt JDK 1.1.x und ein Datenbanksystem mit verfügbarem JDBC - Treiber (oder einem ODBC - Treiber mit JDBC ODBC - Brücke). Es wurde mit verschiedenen Datenbanken getestet, darunter Oracle, Microsoft Access + SQL - Server, InstantDB, DB2 und MySQL. Eine Liste der verfügbaren JDBC - Treiber ist auf [JDBC01] verfügbar. DB2XML ist von der Free Software Foundation (FSF) unter der GNU General Public License veröffentlicht worden. Das heißt, das es jedem erlaubt ist, veränderte bzw. erweiterte Kopien der Software zu verbreiten, ohne dabei die Lizenzbestimmungen zu verändern. Testinstallation Ich habe mich entschieden, DB2XML in Verbindung mit einer MySQL - Datenbank unter dem Betriebssystem Linux zu installieren, um es zu testen. Als JDBC - Treiber fungierte MM - MySQL von Mark Matthews. Dieser wird sowohl auf [JDBC01] als auch [MYSQL01] als JDBC - Treiber empfohlen. Hiermit ist sicher gestellt, dass es sich bei Stand Januar 2002 S. 18 von 45

19 allen benötigten Komponenten um OpenSource - Projekte handelt und es jedem frei steht, dieses System ohne kommerzielle Software nachzubauen. Hier noch einmal die benutzte Software mit Versionsnummern: o Linux (Kernel , Mandrake) o Java J2RE (1.3.1) o DB2XML (1.4) o MySQL ( ) o MM - MySQL (2.0.7) Die Jar - Files von DB2XML und des MM - MySQL-Treibers sind zur Java CLASSPATH - Variable hinzuzufügen und damit ist die Installation abgeschlossen. Probleme beim Installieren und Konfigurieren traten nur beim Versuch eines Verbindungsaufbau über JDBC auf die MySQL - Datenbank auf, weil Java keine Unix Domain Sockets kennt. Mark Matthews ist das Problem bekannt und gibt dazu in seiner MM MySQL - Dokumentation (siehe Anhang A) einen Lösungsvorschlag, den ich aber auf meinem Linux - System trotz intensiver Fehlerbehebungsversuche nicht zufriedenstellend anwenden konnte. Es stellte sich heraus, dass das Rechtesystem nicht Hostnamen-basiert möglich ist. Als funktionierende Lösung ist es daher notwendig, für den jeweiligen Benutzer, der lesenden Zugriff auf die für ihn relevanten Datenbankteile erhalten soll, im Feld host das %-Zeichen als Joker zu verwenden. Als absolute Notlösung und unter sicherheitstechnischen Gesichtspunkten kaum zu vertreten, ist es auch möglich, den MySQL - Server mit der Option skip grant-tables zu starten. Hierbei wird das Privileges-System von MySQL ausgeschaltet und jeder Benutzer hat Zugang zu allen Datenbanken und volle Administrationsrechte. Die Installation ist nun abgeschlossen. Wie kann ich nun eine konkrete Datenbank- Tabelle als XML - Datei exportieren? 5.2 GUI - Applikation Zunächst will ich die GUI - Variante beschreiben. Der Aufruf erfolgt bei gesetztem CLASSPATH mit java db2xml.gui.db2xml Stand Januar 2002 S. 19 von 45

20 Danach erscheint folgendes GUI: Abbildung 1: Das DB2XML-GUI in Version 1.4 unter Linux Standardmäßig wird die Ausgabe nach Standard - Out geschrieben. Es kann aber auch ein Dateiname für die XML Ausgabe im unteren Teil des GUI angegeben werden. Das XML wird nach dem Tabellen-Modell (vgl ) erzeugt. Nachfolgend werden die einzelnen Menüpunkte beschrieben, die das GUI bereitstellt Menüpunkt DTD Unter DTD kann ich aus folgenden Alternativen eine auswählen (Radio Buttons): 1. Generate no DTD / generiere keine DTD. Es wird keine DTD erstellt. 2. Generate internal DTD / generiere interne DTD. Hier wird im XML - File mit <!DOCTYPE database [... ]> auf eine interne DTD direkt angegeben. 3. Generate external DTD / generiere externe DTD. Hier wird im XML - File mit <!DOCTYPE database SYSTEM "out.dtd"> auf eine externe DTD verlinkt. Dann kann man per Checkbox auswählen, ob man Daten generieren möchte oder nicht (Generate data). Im Normalfall sollte hier das Häkchen gesetzt werden. Das Abhaken ist nur sinnvoll, wenn man eine DTD ohne konkrete Daten wünscht Menüpunkt Database Unter Database gibt man die Parameter für die Datenbank-Verbindung an. Für meine MySQL - Datenbank sieht die Konfiguration folgendermaßen aus: Stand Januar 2002 S. 20 von 45

21 Driver Class: org.gjt.mm.mysql.driver Database URL: jdbc:mysql://localhost/<db_name> User Name: <DB_USERNAME> Password: <DB_PASSWORD> Parameter: (leer) Bei Parameter kann man eine durch Kommata getrennte Liste von Name-Wert-Paaren angeben. Diese werden dann über den DriverManager an die Datenbank-Verbindung weitergeleitet. Beispiele sind: encoding=utf8, charset=iso8859-5, Menüpunkt XML Attributes Bei diesem Menüpunkt kann man die XML - Attribute durch Checkboxen konfigurieren. Hauptsächlich geht es hier um die Metadaten im Zusammenhang mit Datenstrukturen in den Datenbank-Tabellen. Es kann beispielsweise angegeben werden, ob bei der XML - Ausgabe ein Datenbankfeld vom Typ Integer das Attribut auto-increment erhalten soll. In Version 1.4 sind hier 15 Optionen möglich Menüpunkt XML Elements Hier kann konfiguriert werden, wie die XML - Elemente Datenbank, Tabelle und Eintrag in XML benannt werden sollen. Standardmäßig heißen diese database, table und record. In diesem Menüpunkt sind noch weitere Einstellungen möglich, auf die hier aber nicht näher eingegangen wird Menüpunkt Stylesheets Hier werden die Stylesheets (XSL - Dateien) konfiguriert. Stylesheet URL: default.xsl Type: text/xsl Output MIME Type: html Mittels der Option Apply stylesheets locally kann eine HTML-Datei, die durch ein XML - Stylesheet definiert wird, automatisch generiert werden. In meinen Versuchen ist es mir aber nicht gelungen, mehr als eine leere HTML-Seite zu produzieren. Ich löste die Java - Exception org.apache.crimson.parser/p-061 UTF-8 Cp1252 aus Auswahlmöglichkeit Database Query Als Datenquelle kann zum einen die gesamte Datenbank ( complete database ) ausgewählt werden oder ein Teil des Datenbankinhalts via SQL - Query ( partial database ). Beispiel für die SQL - Query ist: select * from test where id >= 2; Menüpunkt Properties Hier werden die Schaltflächen Save und Load angeboten, womit ein Abspeichern und Laden aller Einstellungen in einer Datei möglich ist. Dies ist sehr praktisch, da ansonsten bei jedem Start von DB2XML alle Einstellungen manuell nachgetragen werden müssen. Die mitgelieferte Default-Datei db2xml.properties beinhaltet über 60 Parameter. Ohne diese Funktionalität wäre viel Handarbeit angesagt! Stand Januar 2002 S. 21 von 45

22 5.3 Kommandozeilen-Applikation Außer der GUI - Variante lässt sich DB2XML auch über die Kommandozeile starten. Dies ist insbesondere bei automatisierten Arbeitsabläufen sinnvoll. Man könnte etwa über die Unix Cronjobs einmal täglich ein aktuelles Abbild der Datenbank im XML - Form für Kunden bereitstellen. Die Syntax ist: java DB2XML [-help -h] [-p propertyfile] [-out outfile] [-outdtd DTDoutFile] [-outxsl XSLToutFile] ["DB2XMLQueries"] Hier sind alle Funktionen der GUI-Variante über Optionen verfügbar. 5.4 Anwendungsbeispiel Hier möchte ich ein Beispiel anführen. Als Ausgangspunkt generiere ich eine einfache Tabelle durch folgenden MySQL - Dump in der Database test : CREATE TABLE test ( id int(10) NOT NULL default '0', name varchar(100) default NULL, PRIMARY KEY (id) ) INSERT INTO test VALUES (1,'Heinz',' :00:00'); INSERT INTO test VALUES (2,'Hans',' :30:50'); INSERT INTO test VALUES (3,'Hugo',' :30:50'); DB2XML geniert mir daraus mit den Optionen interne DTD und der partial database - SQL-Query select * from test where id >= 2; folgendes XML - Dokument: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE database [ <!ELEMENT database (table0)> <!ELEMENT table0 (record0)*> <!ELEMENT record0 (id, name)> <!ELEMENT id (#PCDATA)> <!ATTLIST id ISNULL (true false) #IMPLIED > <!ELEMENT name (#PCDATA)> <!ATTLIST name ISNULL (true false) #IMPLIED > ]> <?xml-stylesheet href="default.xsl" type="text/xsl"?> <!-- Generated with DB2XML version Database: jdbc:mysql://localhost/test Date: Sat Nov 24 15:51:05 GMT+01: Driver: Mark Matthews' MySQL Driver Database system: MySQL > <database> <table0> Stand Januar 2002 S. 22 von 45

23 <record0> <id>2</id> <name>hans</name> <datum>12. Dez. 01</datum> </record0> <record0> <id>3</id> <name>hugo</name> <datum>24. Dez. 01</datum> </record0> </table0> </database> An diesem Beispiel ist zu sehen, dass alle Felder bis auf das Feld Datum vom MySQL - Type datetime von DB2XML gut konvertiert werden. Bei datetime verschluckt DB2XML leider die Stunden, Minuten und Sekunden. 5.5 Fazit zu DB2XML Das in 100%ig Java implementiere DB2XML ist sehr gut geeignet, XML - Abbilder ganzer oder teilweiser Datenbanken zu generieren. Hierbei werden optional DTDs intern oder extern hinzugefügt. Durch einen integrierten XSLT - Prozessor ist es theoretisch sogar möglich, direkt aus DB2XML heraus HTML-Dateien zu erstellen, was mir in meinen Tests jedoch nicht gelang. Bis auf den MySQL - Datentype DATETIME werden alle getesteten Typen brauchbar konvertiert. Das Tool steht mit zwei Frontends bereit: als grafische Benutzerschnittstelle zur übersichtlichen Konfiguration und als Kommandozeilen-Programm für automatisierte (regelmäßige) Abläufe. Wem diese Funktionalität nicht ausreicht, kann mit Hilfe der via javadoc erstellten API eigene Applikationen schreiben, die auf dem Framework DB2XML aufsetzen. Der Autor Volker Turau stellt eine sehr gute und ausführliche englische Dokumentation auf seiner Homepage [DB2XML99] zur Verfügung. Eine deutsche Dokumentation ist zur Zeit nicht geplant. DB2XML unterstützt zur Zeit noch kein XML - Schema, die neue Technologie in XML - Form. Die DTDs werden in naher Zukunft ganz von XML - Schemata abgelöst werden. (Das auf der W3C-Homepage bereit gestellte Tool dtd2xs löst dieses Problem, indem es in meinen Tests anstandslos DTDs in XML - Schemata konvertierte.) Als weiterer Negativpunkt ist zu erwähnen, dass das Tool nur DB2XML anbietet und nicht den umgekehrten Weg XML2DB. Ich kann damit einem Geschäftspartner Daten über eine RDBMS - unabhängige auf XML - Technologie basierende Technik zur Verfügung stellen. Möchte mein Geschäftskunde die in XML vorliegenden Daten seinerseits wieder in ein RDBMS einspielen, muss er diesen Vorgang in Eigenregie organisieren. 6 Microsoft SQL Server http - Unterstützung Der SQL Server 2000 in Verbindung mit MS-IIS (Microsoft Internet Information Services) Web Server unterstützt auch den direkten Zugriff mittels http auf die Datenbank. Dazu wird eine Art Plug - In installiert, das die http - Anfragen entgegennimmt und für den SQL Server 2000 aufbereitet und dann die Datenbankanfrage startet. Das Ergebnis der Anfrage (meistens XML Fragmente) wird eventuell noch nachformatiert und an den Client zurückgegeben. Stand Januar 2002 S. 23 von 45

24 6.2 XML Views (XML Sichten) Ein XML View beschreibt das Aussehen eines XML Dokumentes, obwohl dieses XML Dokument überhaupt nicht existiert, da es sozusagen on-the-fly von einer relationalen Datenbank erstellt wurde. Sie erlauben außerdem die Definition von Beziehungen zwischen XML und Tabellenstrukturen, so dass ein Format zurückkommt, das wir für die Darstellung von XML benötigen. In diesem Fall bleibt die Datenbank für den User verborgen und es erscheint so, als ob die Daten als Quelle ein XML - Dokument besitzen. Derzeitig basieren XML - Views auf der Schema-Sprache XDR (XML Data Reduced) (siehe Die W3C definiert derzeit eine Standard XML Schema Definitionssprache (XSD) (siehe Wie der Name XML Data Reduced schon aussagt ist XDR eine vereinfachte Version von XML Data, einer Schema-Sprache (siehe XDR Schemas Beim SQL Server 2000 wird die XDR - Sprache (XML-Data Reduced) zum Erstellen der Schemas verwendet. XDR ist flexibel und überwindet einige der Einschränkungen von DTDs (Document Type Definition), die ebenfalls zur Beschreibung der Dokumentstruktur eingesetzt werden. Im Gegensatz zu DTDs beschreiben XDR - Schemas die Struktur des Dokuments unter Verwendung derselben Syntax wie das XML - Dokument. Darüber hinaus handelt es sich bei allen Dateninhalten in DTDs um Zeichendaten. Bei XDR - Sprachschemas können Sie den Datentyp eines Elements oder eines Attributs angeben. In einem XDR - Schema wird das gesamte Schema vom <Schema> - Element umgeben. Man kann Attribute als Eigenschaften des <Schema> - Elements beschreiben, die den Schemanamen und die Namespaces definieren, in denen sich das Schema befindet. In der XDR - Sprache müssen alle Elementdeklarationen innerhalb des <Schema> - Elements vorgenommen werden. Das minimale XDR - Schema sieht wie folgt aus: <?xml version="1.0"?> <Schema xmlns="urn:schemas-microsoft-com:xml-data">... </Schema> XDR - Schema mit Anmerkungen Ein XDR - Schema mit Anmerkungen, welche die Zuordnung zur Datenbank beschreiben, eignet sich zur Abfrage der Datenbank und zur Rückgabe der Ergebnisse in Form eines XML - Dokuments. Der SQL Server 2000 führt eine Reihe von Anmerkungen ein, die Sie zum Zuordnen des XDR - Schemas zu den Datenbanktabellen und -spalten verwenden können. Es können XPath - Abfragen für die vom XDR - Schema erstellte XML - Sicht angegeben werden, um die Datenbank abzufragen und Ergebnisse in Form von XML - Dokumenten zu erstellen. Dies ist eine Alternative zur aufwendigeren Methode, eine SQL - Abfrage zu schreiben, die den FOR XML EXPLICIT - Modus zur Beschreibung der XML - Dokumentstruktur als Teil der Abfrage einsetzt. Weitere Informationen zu SELECT - Abfragen mit dem FOR XML EXPLICIT - Modus finden Sie unter Verwenden des EXPLICIT-Modus. Die Stand Januar 2002 S. 24 von 45

25 meisten Beschränkungen von XPath - Abfragen für Zuordnungsschemas können jedoch mithilfe von SQL - Abfragen und dem FOR XML EXPLICIT - Modus überwunden werden und ermöglichen so die Ausgabe der Ergebnisse in Form von XML - Dokumenten. Bei öffentlichen XDR - Schemas (wie etwa Microsoft BizTalk -Schemas) stehen die folgenden Möglichkeiten zur Verfügung: o Schreiben der Abfrage im FOR XML EXPLICIT - Modus, so dass die generierten Daten für das öffentliche XDR - Schema gültig sind; FOR XML EXPLICIT - Abfragen zu schreiben, kann jedoch recht aufwendig sein. o Erstellen einer privaten Kopie des öffentlichen XDR - Schemas. Fügen Sie dann Anmerkungen zu dieser privaten Kopie hinzu, wodurch ein Zuordnungsschema generiert wird. Sie können XPath - Abfragen für das Zuordnungsschema angeben. Als Folge generiert die Abfrage die Daten im Namespace des öffentlichen Schemas. Das Erstellen von Schemas mit Anmerkungen und das Angeben von XPath - Abfragen für die Schemas ist ein bedeutend einfacherer Vorgang, als komplexe FOR XML EXPLICIT - Abfragen zu schreiben. BizT alk - Schema BizT alk - Schema KOPIE Anmerkungen Zuordnungs - schema SQL Server XML Dokument Anmerkung Microsoft BizTalk Framework ist der Versuch, ein standardisiertes XML - Format für die am weitesten verbreiteten Geschäftsobjekte, wie Kontakte, Bestellungen und Termine, zu definieren. Kopien dieser Geschäftsschemas finden man unter Zuordnungsschema Im Zusammenhang mit relationalen Datenbanken erweist sich die Zuordnung eines beliebigen XDR - Schemas zu einem relationalen Speicher als hilfreich. Eine der möglichen Optionen ist das Erstellen einer Anmerkung für das XDR - Schema. Ein XDR - Schema mit Anmerkungen wird als Zuordnungsschema bezeichnet. Das Zuordnungsschema enthält Informationen über die Art der Zuordnung der XML - Daten zum relationalen Speicher. Bei einem Zuordnungsschema handelt es sich tatsächlich um eine XML - Sicht der relationalen Daten. Diese Zuordnungen können zur Abfrage relationaler Daten in Form eines XML - Dokuments verwendet werden. Der Microsoft SQL Server 2000 führt eine Reihe von Anmerkungen ein, die Sie im XDR - Schema zur Zuordnung der Elemente und Attribute zu den Datenbanktabellen und - spalten verwenden können. Sie können Abfragen für die Zuordnungsschemas (XML - Sichten) mit Hilfe von XPath (XML Path) angeben. Das Zuordnungsschema beschreibt die resultierende Dokumentstruktur. Stand Januar 2002 S. 25 von 45

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen) 1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise

Mehr

XINDICE. The Apache XML Project 3.12.09. Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de

XINDICE. The Apache XML Project 3.12.09. Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de 3.12.09 HKInformationsverarbeitung Kurs: Datenbanken vs. MarkUp WS 09/10 Dozent: Prof. Dr. M. Thaller XINDICE The Apache XML Project Inhalt Native

Mehr

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB Jörg Liedtke, Oracle Consulting Vortrag zum Praxis-Seminar B bei der KIS-Fachtagung 2007, Ludwigshafen Agenda

Mehr

MySQL Installation. AnPr

MySQL Installation. AnPr Name Klasse Datum 1 Allgemeiner Aufbau Relationale Datenbank Management Systeme (RDBMS) werden im Regelfall als Service installiert. Der Zugriff kann über mehrere Kanäle durchgeführt werden, wobei im Regelfall

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Patch Management mit

Patch Management mit Patch Management mit Installation von Hotfixes & Patches Inhaltsverzeichnis dieses Dokuments Einleitung...3 Wie man einen Patch installiert...4 Patch Installation unter UliCMS 7.x.x bis 8.x.x...4 Patch

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

... MathML XHTML RDF

... MathML XHTML RDF RDF in wissenschaftlichen Bibliotheken (LQI KUXQJLQ;0/ Die extensible Markup Language [XML] ist eine Metasprache für die Definition von Markup Sprachen. Sie unterscheidet sich durch ihre Fähigkeit, Markup

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

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie importiere und exportiere ich Daten zwischen myfactory und Outlook? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory Daten aus Outlook importieren Daten aus myfactory nach Outlook

Mehr

Planung für Organisation und Technik

Planung für Organisation und Technik Salztorgasse 6, A - 1010 Wien, Austria q Planung für Organisation und Technik MOA-VV Installation Bearbeiter: Version: Dokument: Scheuchl Andreas 19.11.10 MOA-VV Installation.doc MOA-VV Inhaltsverzeichnis

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

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

Installationsanleitung dateiagent Pro

Installationsanleitung dateiagent Pro Installationsanleitung dateiagent Pro Sehr geehrter Kunde, mit dieser Anleitung möchten wir Ihnen die Installation des dateiagent Pro so einfach wie möglich gestalten. Es ist jedoch eine Softwareinstallation

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

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld Sharing. Auf dem Bildschirm sollte folgendes Fenster erscheinen: Einleitung Unter MacOS X hat Apple die Freigabe standardmäßig auf den "Public" Ordner eines Benutzers beschränkt. Mit SharePoints wird diese Beschränkung beseitigt. SharePoints erlaubt auch die Kontrolle

Mehr

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele: 2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Configuring Terminal Services o Configure Windows Server 2008 Terminal Services RemoteApp (TS RemoteApp) o Configure Terminal Services Gateway

Mehr

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695 Database Exchange Manager Replication Service- schematische Darstellung Replication Service- allgemeines Replikation von Daten von bzw. in ein SAP-System und einer relationalen DMS-Datenbank Kombination

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

IAWWeb PDFManager. - Kurzanleitung -

IAWWeb PDFManager. - Kurzanleitung - IAWWeb PDFManager - Kurzanleitung - 1. Einleitung Dieses Dokument beschreibt kurz die grundlegenden Funktionen des PDFManager. Der PDF Manager dient zur Pflege des Dokumentenbestandes. Er kann über die

Mehr

Installation SQL- Server 2012 Single Node

Installation SQL- Server 2012 Single Node Installation SQL- Server 2012 Single Node Dies ist eine Installationsanleitung für den neuen SQL Server 2012. Es beschreibt eine Single Node Installation auf einem virtuellen Windows Server 2008 R2 mit

Mehr

FTP-Leitfaden RZ. Benutzerleitfaden

FTP-Leitfaden RZ. Benutzerleitfaden FTP-Leitfaden RZ Benutzerleitfaden Version 1.4 Stand 08.03.2012 Inhaltsverzeichnis 1 Einleitung... 3 1.1 Zeitaufwand... 3 2 Beschaffung der Software... 3 3 Installation... 3 4 Auswahl des Verbindungstyps...

Mehr

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe crm-now/ps Webforms: Webdesigner Handbuch Copyright 2006 crm-now Versionsgeschichte Version 01 2006-08-21 Release Version crm-now c/o im-netz Neue

Mehr

Datenmanagement in Android-Apps. 16. Mai 2013

Datenmanagement in Android-Apps. 16. Mai 2013 Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer

Mehr

GITS Steckbriefe 1.9 - Tutorial

GITS Steckbriefe 1.9 - Tutorial Allgemeines Die Steckbriefkomponente basiert auf der CONTACTS XTD Komponente von Kurt Banfi, welche erheblich modifiziert bzw. angepasst wurde. Zuerst war nur eine kleine Änderung der Komponente für ein

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser Seite 1 von 14 Cookie-Einstellungen verschiedener Browser Cookie-Einstellungen verschiedener Browser, 7. Dezember 2015 Inhaltsverzeichnis 1.Aktivierung von Cookies... 3 2.Cookies... 3 2.1.Wofu r braucht

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Verbinden von IBM Informix mit Openoffice mittels JDBC

Verbinden von IBM Informix mit Openoffice mittels JDBC Verbinden von IBM Informix mit Openoffice mittels JDBC Voraussetzungen Installierte und laufende IBM Informixdatenbank. Getestet wurde mit IDS 9.40 und 10.00. Sollte aber auch mit älteren Versionen funktionieren.

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Verwaltungsdirektion Informatikdienste Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren Inhaltsverzeichnis Einleitung... 3 Installation WSUS Server... 4 Dokumente... 4 Step by Step Installation...

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Erste Schritte mit WordPress Anleitung WordPress Version 2.8.X

Erste Schritte mit WordPress Anleitung WordPress Version 2.8.X Erste Schritte mit WordPress Anleitung WordPress Version 2.8.X Login Rufen Sie die Login Seite auf: http://ihren-domainname.ch/wp-login.php Melden Sie sich mit dem Login an: Username Passwort Seiten Aktualisieren

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

Handbuch B4000+ Preset Manager

Handbuch B4000+ Preset Manager Handbuch B4000+ Preset Manager B4000+ authentic organ modeller Version 0.6 FERROFISH advanced audio applications Einleitung Mit der Software B4000+ Preset Manager können Sie Ihre in der B4000+ erstellten

Mehr

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

Kurzanleitung zu XML2DB

Kurzanleitung zu XML2DB Kurzanleitung zu XML2DB Inhaltsverzeichnis 1. Einleitung...3 2. Entwicklungsumgebung...3 3. Betriebsanleitung...3 3.1 Einrichten der Java Umgebung...3 3.2 Allgemeines zu java und javac...4 3.2.1 Allgemeines

Mehr

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen Um die maximale Sicherheit für das Betriebssystem und Ihre persönlichen Daten zu gewährleisten, können Sie Programme von Drittherstellern

Mehr

Datenbanken für Online Untersuchungen

Datenbanken für Online Untersuchungen Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren

Mehr

Lokale Installation von DotNetNuke 4 ohne IIS

Lokale Installation von DotNetNuke 4 ohne IIS Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation

Mehr

Addware Urlaubsmanager 3.22 Installations-Guide

Addware Urlaubsmanager 3.22 Installations-Guide Addware Urlaubsmanager 3.22 Installations-Guide Vorwort Vom Urlaubsplaner bis hin zur Personalverwaltung - der Addware UrlaubsManager 3.22 ist sehr vielseitig einsetzbar. Daher ist es oft anfangs unklar

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

ODBC-Treiber 1. 1.1 Programmübersicht

ODBC-Treiber 1. 1.1 Programmübersicht 1 O D B C - Treiber ODBC-Treiber 1 1.1 Programmübersicht Nach einer ausgiebigen Testphase wurde kürzlich der neue ODBC-Treiber freigegeben. Dieser ist somit ab der 2000-er-Version lizenzpflichtig und kann

Mehr

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131 Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet

Mehr

Ihr CMS für die eigene Facebook Page - 1

Ihr CMS für die eigene Facebook Page - 1 Ihr CMS für die eigene Facebook Page Installation und Einrichten eines CMS für die Betreuung einer oder mehrer zusätzlichen Seiten auf Ihrer Facebook Page. Anpassen der "index.php" Installieren Sie das

Mehr

Anwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen

Anwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen Anwendungshinweis Nr. 12 Produkt: Schlüsselworte: Problem: Softing OPC Easy Connect OPC Server, Redundanz Wie konfiguriere ich redundante Lösung: Ausgangssituation: Eine OPC Client-Anwendung ist mit mehreren

Mehr

Betriebshandbuch. MyInTouch Import Tool

Betriebshandbuch. MyInTouch Import Tool Betriebshandbuch MyInTouch Import Tool Version 2.0.5, 17.08.2004 2 MyInTouch Installationshandbuch Inhaltsverzeichnis Inhaltsverzeichnis... 2 Bevor Sie beginnen... 3 Einleitung...3 Benötigte Daten...3

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

Mehr

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen Inhalt Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen 2.2 Installation von Office 2013 auf Ihrem privaten PC 2.3 Arbeiten mit den Microsoft

Mehr

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Wie richten Sie Ihr Web Paket bei Netpage24 ein Wie richten Sie Ihr Web Paket bei Netpage24 ein Eine kostenlose ebook Anleitung von Netpage24 - Webseite Information 1 E-Mail Bestätigung... 3 2 Ticketsystem... 3 3 FTP Konto anlegen... 4 4 Datenbank anlegen...

Mehr

GEONET Anleitung für Web-Autoren

GEONET Anleitung für Web-Autoren GEONET Anleitung für Web-Autoren Alfred Wassermann Universität Bayreuth Alfred.Wassermann@uni-bayreuth.de 5. Mai 1999 Inhaltsverzeichnis 1 Technische Voraussetzungen 1 2 JAVA-Programme in HTML-Seiten verwenden

Mehr

ICS-Addin. Benutzerhandbuch. Version: 1.0

ICS-Addin. Benutzerhandbuch. Version: 1.0 ICS-Addin Benutzerhandbuch Version: 1.0 SecureGUARD GmbH, 2011 Inhalt: 1. Was ist ICS?... 3 2. ICS-Addin im Dashboard... 3 3. ICS einrichten... 4 4. ICS deaktivieren... 5 5. Adapter-Details am Server speichern...

Mehr

5.2 Neue Projekte erstellen

5.2 Neue Projekte erstellen 5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort

Mehr

Anforderungen an die HIS

Anforderungen an die HIS Anforderungen an die HIS Zusammengefasst aus den auf IBM Software basierenden Identity Management Projekten in NRW Michael Uebel uebel@de.ibm.com Anforderung 1 IBM Software Group / Tivoli Ein Feld zum

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

Handbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen

Handbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Handbuch timecard Connector 1.0.0 Version: 1.0.0 REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Furtwangen, den 18.11.2011 Inhaltsverzeichnis Seite 1 Einführung... 3 2 Systemvoraussetzungen...

Mehr

Anwenderdokumentation AccountPlus GWUPSTAT.EXE

Anwenderdokumentation AccountPlus GWUPSTAT.EXE AccountPlus Inhaltsverzeichnis Inhaltsverzeichnis Anwenderdokumentation AccountPlus GWUPSTAT.EXE (vorläufig) ab Version 6.01 INHALTSVERZEICHNIS...1 1 ALLGEMEINES...2 2 INSTALLATION UND PROGRAMMAUFRUF...2

Mehr

Schritt 1 - Registrierung und Anmeldung

Schritt 1 - Registrierung und Anmeldung Schritt 1 - Registrierung und Anmeldung Anmeldung: Ihre Zugangsdaten haben Sie per EMail erhalten, bitte melden Sie sich mit diesen auf www.inthega-datenbank.de an. Bitte merken Sie sich die Zugangsdaten

Mehr

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger Grundlegendes Oracle9i PostgreSQL Prevayler Memory mywms bietet umfangreiche Konfigurationsmöglichkeiten um die Daten dauerhaft zu speichern.

Mehr

12. Dokumente Speichern und Drucken

12. Dokumente Speichern und Drucken 12. Dokumente Speichern und Drucken 12.1 Überblick Wie oft sollte man sein Dokument speichern? Nachdem Sie ein Word Dokument erstellt oder bearbeitet haben, sollten Sie es immer speichern. Sie sollten

Mehr

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005 Das Software Studio Christian Efinger mobilepoi 0.91 Demo Version Anleitung Erstellt am 21. Oktober 2005 Kontakt: Das Software Studio Christian Efinger ce@efinger-online.de Inhalt 1. Einführung... 3 2.

Mehr

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Beiträge erstellen in Joomla Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Abbildung 1 - Kontrollzentrum Von hier aus kann man zu verschiedene Einstellungen

Mehr

KURZANLEITUNG CLOUD OBJECT STORAGE

KURZANLEITUNG CLOUD OBJECT STORAGE KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05

Mehr

IDA ICE - Konvertieren und Importieren von mit TRY_Effekte_aufpraegen.exe erzeugten Datensätzen

IDA ICE - Konvertieren und Importieren von mit TRY_Effekte_aufpraegen.exe erzeugten Datensätzen IDA ICE - Konvertieren und Importieren von mit TRY_Effekte_aufpraegen.exe erzeugten Datensätzen Mit Einführung der 2010 TRY (Test Referenz Jahr) Klimadatensätze ist es erstmals möglich, neben den für 15

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

personal.net Neue Quellensteuertarifcodes ab dem 01.01.2014

personal.net Neue Quellensteuertarifcodes ab dem 01.01.2014 personal.net Neue Quellensteuertarifcodes ab dem 01.01.2014 Anleitung und Informationzur Handhabung ab personal.net Version 14.0.0 (ab heim.net Version 2.3.0.0) Domis Consulting AG, 6246 Altishofen personal

Mehr

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung Anleitung zur Daten zur Datensicherung und Datenrücksicherung Datensicherung Es gibt drei Möglichkeiten der Datensicherung. Zwei davon sind in Ges eingebaut, die dritte ist eine manuelle Möglichkeit. In

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Das SIARD Format und die zugehörige Tool-Landschaft

Das SIARD Format und die zugehörige Tool-Landschaft Das SIARD Format und die zugehörige Tool-Landschaft Arbeitskreis Archivierung von Unterlagen aus digitalen Systemen 17. Tagung im Staatsarchiv Dresden 13./14. März 2013 Inhaltsübersicht Langzeitarchivierung

Mehr

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

Arbeiten mit einem lokalen PostgreSQL-Server

Arbeiten mit einem lokalen PostgreSQL-Server Arbeiten mit einem lokalen PostgreSQL-Server Download für das Betriebssystem Windows PostgreSQL-Server und pgadmin: http://www.enterprisedb.com/products-servicestraining/pgdownload#windows pgadmin: http://www.pgadmin.org/download/windows.php

Mehr

Abschluss Version 1.0

Abschluss Version 1.0 Beschreibung Der Abschluss wird normalerweise nur einmal jährlich durchgeführt. Dieses Tech-Note soll helfen, diesen doch seltenen aber periodisch notwendigen Vorgang problemlos durchzuführen. Abschlussvarianten

Mehr

Lieber SPAMRobin -Kunde!

Lieber SPAMRobin -Kunde! Lieber SPAMRobin -Kunde! Wir freuen uns, dass Sie sich für SPAMRobin entschieden haben. Mit diesem Leitfaden möchten wir Ihnen die Kontoeinrichtung erleichtern und die Funktionen näher bringen. Bitte führen

Mehr

SharePoint Demonstration

SharePoint Demonstration SharePoint Demonstration Was zeigt die Demonstration? Diese Demonstration soll den modernen Zugriff auf Daten und Informationen veranschaulichen und zeigen welche Vorteile sich dadurch in der Zusammenarbeit

Mehr

Anleitung für den Datenaustausch mit mobile.de

Anleitung für den Datenaustausch mit mobile.de Anleitung für den Datenaustausch mit mobile.de Inhaltsverzeichnis 1. Automatischer Import von mobile.de 1.1 Abschaltung der Schnittstelle 2. Benutzung von AutoAct 2.1 Vorteile von AutoAct 2.2 Registrierung

Mehr

SSH Authentifizierung über Public Key

SSH Authentifizierung über Public Key SSH Authentifizierung über Public Key Diese Dokumentation beschreibt die Vorgehensweise, wie man den Zugang zu einem SSH Server mit der Authentifizierung über öffentliche Schlüssel realisiert. Wer einen

Mehr

ipin CSV-Datenimport (Mac OS X)

ipin CSV-Datenimport (Mac OS X) ipin CSV-Datenimport (Mac OS X) ipin bietet Ihnen die Möglichkeit, Daten aus anderen Programmen oder Datenquellen zu importieren. Dies ist vor allem dann sehr hilfreich, wenn große Datenmengen in ipin

Mehr

Live Update (Auto Update)

Live Update (Auto Update) Live Update (Auto Update) Mit der Version 44.20.00 wurde moveit@iss+ um die Funktion des Live Updates (in anderen Programmen auch als Auto Update bekannt) für Programm Updates erweitert. Damit Sie auch

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

WEBSEITEN ENTWICKELN MIT ASP.NET

WEBSEITEN ENTWICKELN MIT ASP.NET jamal BAYDAOUI WEBSEITEN ENTWICKELN MIT ASP.NET EINE EINFÜHRUNG MIT UMFANGREICHEM BEISPIELPROJEKT ALLE CODES IN VISUAL BASIC UND C# 3.2 Installation 11 Bild 3.2 Der Webplattform-Installer Bild 3.3 IDE-Startbildschirm

Mehr

Daten-Synchronisation zwischen Mozilla Thunderbird (Lightning) / Mozilla Sunbird und dem ZDV Webmailer

Daten-Synchronisation zwischen Mozilla Thunderbird (Lightning) / Mozilla Sunbird und dem ZDV Webmailer Daten-Synchronisation zwischen Mozilla Thunderbird (Lightning) / Mozilla Sunbird und dem ZDV Webmailer Zentrum für Datenverarbeitung der Universität Tübingen Inhaltsverzeichnis 1.Synchronisation...aber

Mehr

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper) Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10 Technische Informationen (White Paper) Inhaltsverzeichnis 1. Über dieses Dokument... 3 2. Überblick... 3 3. Upgrade Verfahren... 4

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

Adminer: Installationsanleitung

Adminer: Installationsanleitung Adminer: Installationsanleitung phpmyadmin ist bei uns mit dem Kundenmenüpasswort geschützt. Wer einer dritten Person Zugriff auf die Datenbankverwaltung, aber nicht auf das Kundenmenü geben möchte, kann

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Hinweise zur Installation von MySQL

Hinweise zur Installation von MySQL Hinweise zur Installation von MySQL Im Folgenden werden einige Hinweise gegeben, die die Einrichtung einer MySQL-Lernumgebung am eigenen Windows-Rechner erleichtern sollen. Der Text ist vor allem für diejenigen

Mehr

Dokumentation zum Spielserver der Software Challenge

Dokumentation zum Spielserver der Software Challenge Dokumentation zum Spielserver der Software Challenge 10.08.2011 Inhaltsverzeichnis: Programmoberfläche... 2 Ein neues Spiel erstellen... 2 Spielfeldoberfläche... 4 Spielwiederholung laden... 5 Testdurchläufe...

Mehr

CartCalc FAQ (frequently asked questions) häufige Fragen zu CartCalc

CartCalc FAQ (frequently asked questions) häufige Fragen zu CartCalc CartCalc FAQ (frequently asked questions) häufige Fragen zu CartCalc Installation Frage: Wie installiere ich CartCalc? Antwort: Die Installation von CartCalc erfolgt automatisch. Nach Einlegen der Demo-CD

Mehr

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift. Briefe Schreiben - Arbeiten mit Word-Steuerformaten Ab der Version 5.1 stellt die BüroWARE über die Word-Steuerformate eine einfache Methode dar, Briefe sowie Serienbriefe mit Hilfe der Korrespondenzverwaltung

Mehr

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 SEPA Lastschriften Ergänzung zur Dokumentation vom 27.01.2014 Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 www.workshop-software.de Verfasser: SK info@workshop-software.de

Mehr