Über Transact SQL, die integrierte Programmiersprache lassen sich alle datenbanknahen Anwendungen direkt in der Datenbank in Form von Prozeduren und Funktionen programmieren. Für die erweiterte Anwendungsentwicklung eignet sich besonders C#, sodass auch umfassende Internet-Anwendungen auf komplexem Niveau erstellt werden können. Im Bereich XML bietet MS SQL Server Funktionalitäten für die Speicherung, Suche und Verarbeitung von XML-Daten.
Unter dem Wort Programmierbarkeit versteht der MS SQL Server nicht nur die Fähigkeit, Quelltext in verschiedenen Sprachen in der Datenbank zu speichern oder direkt auszuführen, sondern auch die programmierten Objekte. Die Syntax, mit der diese Objekte erstellt werden, ist neben der Darstellung von Abfragen und Analysen ein zentrales Thema dieses Artikels.
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.
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.
Nach der ausführlichen Einführung zur Webservice-Technologie, folgen in diesem Kapitel Beispiele
zur Erstellung und Verwendung von Webservices, die vom MS SQL Server 2005 bereitgestellt
werden.
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 eine relationale Datenbank importieren und auf verschiedene Tabellen verteilen will. Bei einer einzelnen Tabelle ist das nicht so schwer, als wenn aus den XML-Daten einzelne Teilbäume für tabellenbezogene Ladevorgänge benötigt werden. Die Lösung nennt sich XPath.
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.
Sobald man keine eigene Entscheidung über das XML-Format treffen kann,
die angelieferten Daten tief verschachtelt sind und nicht den benötigten
relationalen Strukturen entsprechen, genügt die einfache Zuordnung nicht
mehr. Man muss die genaue Zuordnung
mit Hilfe von XPath-Ausdrücken ausführen.
Nach dem Abruf von XML-Daten aus der Datenbank oder dem Dateisystem oder der Zusammensetzung auf Basis einer Abfrage, stellt sich die Frage nach der Verarbeitung. Zur
Verfügung stehen Methoden, die sich über eine objektorientierte Punktnotation
aufrufen lassen und zur weiteren Abfrage, Untersuchung und Filterung von XML-Daten dienen.
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.
Die Darstellung der Themen folgt
den Dokumenten des W3C (World Wide Web Consortium), dem Standardisierungsgremium
von (X)HTML, CSS, XML und vielen anderen XML-Standards (XML Schema,
XSLT, XSL-FO): http://www.w3.org/2002/ws/
Eine Möglichkeit zur Bearbeitung von XML-Daten ergibt sich nach relationaler
Zerlegung, 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.
Verschiedene der im Rahmen von Webservices verwendeten Technologien wurden bereits
erwähnt. Sie sollen in diesem Abschnitt noch einmal
dargestellt werden. Dies zeigt vor allem, welche
Techniken dabei zum Einsatz kommen. Viele dieser Techniken bestehen aus XML-Technologien (einzelnen Textdateien), die unterschiedliche Aspekte der Implementierung
von Webservices berühren.
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.
Das SOAP-XML-Format dient für den Nachrichtenaustausch zwischen Webservice
und seinem Klient. Je nachdem, welche Komplexität die vom Webservice erwartete
und versandte Nachricht hat, muss in .NET oder einer anderen Programmiersprache
diese Nachricht vom Programmierer nicht von Hand erstellt werden.
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 die SELECT…FOR
XML-Anfrage ausgelesen und so ausgewertet, dass die Antwortstruktur auch in diesem
Bereich automatisch generiert wird.
comelio.com


