MS SQL Server eignet sich für größte Anwendungen mit hoher Komplexität, wie es gerade bei transaktionsorientierten Datenbanken oder Data Warehouses der Fall ist. Durch eine hohe Geschwindigkeit und extrem große Belastbarkeit sind auch Internet-Anwendunngen mit sehr großen Zugriffszahlen und umfangreichen Transaktionen leicht durchführbar. Über die integrierte Programmiersprache Transact SQL lassen sich alle datenbanknahen Anwendungen direkt innerhalb der Datenbank in Form von Prozeduren und Funktionen programmieren. Dies erleichtert einen einheitlichen Zugriff und eine einheitliche Verwendung dieser Programmbereiche durch den Zugriff von außen. Dadurch lassen sich ganz andere Sicherheits-Techniken für die Organisation und Durchführung von Transaktionen erstellen. Gleichzeitig eröffnen sich auch Möglichkeiten, Anwendungen mit höhrerer Komplexität zu erstellen, als durch die verwendete äußere IT-Architektur möglich sind. Für die erweiterte Anwendungsentwicklung eignet sich vor allen Dingen C#, sodass gerade auch umfassende Internet-Anwendungen auf sehr komplexen Niveau erstellt werden können. Im XML-Bereich bietet MS SQL Server geeignete Funktionalitäten für die Speicherung, Suche und Verarbeitung von XML-Daten. Dies eignet sich für die Erstellung von umfassenden XML-Datenbanken und -Anwendungen. |
| 
Programmierbarkeit
Unter
dem schönen, neuen Wort ‚Programmierbarkeit’ verbirgt sich im
MS SQL Server 2005 die Möglichkeit, Prozeduren, Funktionen und Trigger als
T-SQL- und .NET-Module zu hinterzulegen, welcher der Datenbank eine zusätzliche
Schicht hinzufügen. Diese enthält in Form der genannten Module bereits
einen Teil der Software, welcher die Datenbank erneut von der eigentlichen Software
in bspw. .NET verbirgt. Neben dem Effekt des Verbergens und Schützens ist
diese Technik auch deswegen so interessant, weil durch sie eine vereinfachte Benutzung
der Datenbank gelingt.
Mehr
|
 |
Funktionen
Neben den Prozeduren gibt es auch noch die Möglichkeit, benutzerdefinierte
Funktionen zu erstellen. Beide Modularten haben – wie in allen Datenbanken,
die überhaupt solche Strukturen anbieten – große Gemeinsamkeiten.
Daher werden viele Aspekte bereits bekannt sein, weswegen die Darstellung von
Funktionen ein wenig kürzer ausfallen kann.
Mehr
|  |
Verwaltungsarbeiten
Dieser Abschnitt gibt neben ausführlichen Hinweisen zur Sicherheit von Modulen
auch zusätzliche Informationen, wie Informationen über Funktionen und
Prozeduren abgerufen werden können.
Mehr
|  |
Programmierung
Nach der ausführlichen Einführung zur Webservice-Technologie, die eine
Vielzahl von Unter-Technologien enthält, folgen nun in diesem Kapitel Beispiele
zur Erstellung und Verwendung von Webservices, die vom MS SQL Server 2005 bereitgestellt
werden.
Mehr
|  |
XML in T-SQL zerlegen
Neben dem Erzeugen und Speichern von XML, ist es auch wichtig die XML Daten zerlegen zu können. Wenn man bspw. Daten aus einer XML Datei in einer relationale Datenbank importieren und auf verschiedene Tabellen verteilen möchte. Bei einer einzelnen Tabelle ist dies natürlich nicht so schwer, als wenn aus den XML-Daten nur einzelne Teilbäume für tabellenbezogene Ladevorgänge benötigt werden. Die Lösung nennt sich XPath, wobei sich dies als SQL für XML vorstellen.
Mehr
|  |
Variablen mit XML-Inhalt

Erstellt man eine Abfrage, welche XML-Werte zurückliefert, dann erhält man als Ergebnis Werte im Datentyp xml. Diese können dann direkt in einer Variablen oder für einen Rückgabewert einer Funktion genutzt werden. Dieser besondere Datentyp verhält sich wie jeder andere, weil er überall dort auftauchen kann, wo auch ein anderer Datentyp genutzt werden kann. Zum Beispel als Datentyp für eine Variable oder einen Rückgabewert.
Mehr
|  |
XML mit XPath zerlegen
Komplexe Zerlegung mit XPath
Sobald man keine eigene Entscheidung über das XML-Format treffen kann,
die angeliefer-ten Daten tief verschachtelt sind und fast gar nicht den benötigten
relationalen Strukturen entsprechen, genügt die einfache Zuordnung nicht
mehr und man muss auf die Möglichkeit zurückgreifen, die genaue Zuordnung
mit Hilfe von XPath-Ausdrücken auszuführen. Das in der nächsten
Abfrage erzeugte XML-Dokument bietet einen solchen komplexen Aufbau. Innerhalb
der sich wiederholenden Product-Elemente gibt es ein Attribut für die Produkt-nummer,
ein Kind-Element für den Namen mit einem Textknoten sowie zwei weitere
Kin-der, die selbst wieder Kinder für Preis- und Detailinformationen besitzen.
<Product-List>
<Product ProductNumber="BK-R19B-52">
<Name>Road-750 Black, 52</Name>
<Prices>
<Standard>343.6496</Standard>
<List>539.9900</List>
</Prices>
<Details>
<Size>52</Size>
<Color>Black</Color>
</Details>
</Product>
</Product-List>
Mehr
|  |
Datentypmethoden für XML-Bearbeitung
Nachdem man schon gespeicherte XML-Daten aus der Datenbank oder dem Dateisystem
abgerufen oder auf Basis einer Abfrage zusammengesetzt hat, stellt sich die Frage,
wie man diese verarbeiten kann. Dazu bietet sich zunächst die Möglichkeit
an, sie wieder in relationale Darstellungen zurückzuwandeln, wie dies über
OPENXML geschieht. Als weitere Alternative stehen eine Reihe von Methoden zur
Verfügung, die (wie in Oracle übrigens) direkt mit dem Datentyp xml
verknüpft sind. Sie lassen sich über eine objektorientierte Punktnotation
aufrufen und dienen hauptsächlich dazu, XML-Daten weiter abzufragen und sie
für eine weitere Verarbeitung zu untersuchen oder zu filtern.
Mehr
|  |
XPath
Man benötigt für die Navigation innerhalb eines XML-Dokuments eine möglichst
kurze Ausdruckssprache. Dies ist sowohl in XML Schema wie auch in XSLT / XSL-FO
oder eben im MS SQL Server die Navigations- und Abfragesprache XPath.
Mehr
|  |
XSLT
Eine Möglichkeit zur Bearbeitung von XML-Daten ergibt sich nach relationaler
Zer-legung, Abfrage und Verarbeitung mit XQuery mit Hilfe von XSLT. Dieser Standard
vom W3C (http://www.w3.org/TR/xslt20/) besteht aus einer XML-Datei, in der in
einer deklara-tiven Sprache Formatierungs- und Umwandlungsanweisungen für
XML-Datenströme ge-geben werden, die zu Ergebnissen in HTML, XML oder Text
führen.
Mehr
|  |
Definition und Übersicht
Die Darstellung der in diesem Abschnitt vorgestellten Themen folgt im Wesentlichen
den verschiedenen Dokumenten des W3C (World Wide Web Consortium), dem Standardisierungsgremium
von (X)HTML, CSS, XML sowie vielen anderen wesentlichen XML-Standards (XML Schema,
XSLT, XSL-FO), die man im Original unter http://www.w3.org/2002/ws/ finden
kann. Nicht alle diese Dokumente bieten geschmackvolles Lesefutter für
den Programmierer, doch wenigstens die Hälfte davon sollte man sich schon
einmal mit dem Finger auf dem Mausrädchen zu Gemüte geführt haben,
sofern noch Interesse an weiterer allgemeiner Einführung über diese
Einleitung hinaus besteht.
Mehr
|  |
Technologien
Verschiedene der im Rahmen von Webservices verwendeten Technologien wurden bereits
beispielhaft namentlich erwähnt. Sie sollen in diesem Abschnitt noch einmal
kurz und übersichtlich dargestellt werden. Dies zeigt vor allen Dingen, welche
verschiedenen Techniken dabei nebeneinander zum Einsatz kommen und wie sie miteinander
verwoben sind. Eine Vielzahl dieser Techniken besteht aus XML-Technologien und
damit aus einzelnen Textdateien, die unterschiedliche Aspekte der Implementierung
von Webservices berühren. Daneben gibt es eine Vielzahl an ergänzenden
Techniken, die sich teilweise auf fertige Softwarekomponenten wie bspw. Server
zur Einrichtung von Sicherheitsrichtlinien stützen.
Mehr
|  |
Umsetzung im MS SQL Server
Nach der allgemeinen Darstellung der Webservice-Technik, beschäftigt sich
dieser Abschnitt nun mit der konkreten Umsetzung im MS SQL Server. Beispiele folgen
zu den einzelnen Konzepten im nächsten Abschnitt, wobei dann auf die Technik
an sich nicht mehr eingegangen wird.
Mehr
|  |
SOAP
Das SOAP-XML-Format dient für den Nachrichtenaustausch zwi-schen Webservice
und seinem Klient. Je nachdem, welche Komplexität die vom Webservice erwartete
und versandte Nachricht hat, muss in .NET oder einer ande-ren Programmiersprache
diese Nachricht vom Programmierer nicht von Hand er-stellt werden. Es gibt eine
Reihe von Techniken, mit denen der Webservice und damit seine Operationen objektorientiert
genutzt werden können.
Mehr
|  |
Nachrichtenstruktur
Das
automatisch erstellte WSDL liefert zwar die Information, dass überhaupt XML
zurückgeliefert wird, wenn nicht nur ein einfacher Rückgabewert einer
Funktion die Antwort bildet, aber in XML Schema wird nicht etwa die SELECT…FOR
XML-Anfrage ausgelesen und so ausgewertet, dass die Antwortstruktur auch in diesem
Bereich automatisch generiert wird.
Mehr
|  |
Batch-Einsatz
Man kann einen Webservice verwenden, um Batch-Anweisungen, d.h. T-SQL-Anweisungen
mit Abfragen und T-SQL-Programmen bzw. Prozedur-/Funktions-aufrufen zur Datenbank
zu schicken. Dazu ist gar keine Funktion/Prozedur notwendig, die man als Operationen
für den Webservice anbietet. Stattdessen richtet man nur den entsprechenden
Dienst ein, der die Anweisungen in einem standardisierten SOAP-Format erwartet
und die Ergebnisse wie Rückgabewerte oder Ergebnismengen in XML-Form zurückliefert.
Mehr
|  |