MS SQL Server 2005 - XML und SOAP Webservices
MS SQL Server 2005 - XML und SOAP Webservices

MS SQL Server 2005 - XML und SOAP Webservices

Buch, Deutsch, 314 Seiten, Comelio GmbH

Autor: Marco Skulschus

Herausgeber / Co-Autor: Jan Kozik, Alexander Kapitanovskyy

Erscheinungsdatum: 2008

ISBN: 3939701033


Aufrufe gesamt: 1537, letzte 30 Tage: 1

Kontakt

Verlag

Comelio GmbH

Telefon: +49-30-8145622-00

Telefax: +49-30-8145622-10

Preis: 34,95 €

Kaufen

Inhalt

Der MS SQL Server 2005 bietet nach fünf langen Jahren eine umfassende Aktualisierung und Verbesserung der Microsoft-Datenbank. Dieses Buch stellt innerhalb der Comelio Medien-Reihe zu diesem Thema die verschiedenen XML-Technologien dar. Das Buch richtet sich an Entwickler, die hauptsächlich mit T-SQL arbeiten und für .NET-Anwendungen in der Datenbank XML-Schnittstellen als Datenzugriffsschicht und Webservices entwickeln. Dabei zeigen die Autoren in einem umfangreichen Teil des Buchs, wie man einfache und hierarchisierte XML-Daten direkt in T-SQL aus relationalen Daten erzeugt, diese Daten als XML entgegen nimmt und wieder relational zerlegt sowie auch direkt als XML speichert, abfragt, validiert und verarbeitet. In einem weiteren Teil lernt man die Techniken kennen, die der MS SQL Server 2005 anbietet, um SOAP-basierte Webservices mit T-SQL einzurichten. In einem kürzeren Kapitel findet man schließlich Lösungen, wie man einfache HTML-Darstellungen von Abfragen veröffentlicht und online anbietet. Die verschiedenen Techniken werden dann in einigen Fallbeispielen für T-SQL und .NET in Kombination zusammen geführt, um Entwicklungsansätze für die vielen Werkzeuge zu liefern. Ein kleiner Teil des Buchs stellt die für Entwickler unverzichtbaren Grundlagen in den verwendeten XML-Technologien in Zusammenhang mit den konkreten Beispielen dar.

 

Themen

  • Grundlagen zu XML-Technologien (XML Schema, XQuery, XPath und XSLT) und Webservices (WSDL, SOAP)
  • Erzeugen von einfachen und komplexen XML-Strukturen aus relationalen Daten mit T-SQL-Abfragen
  • Validierung und Typisierung mit XML Schema mit T-SQL
  • Verarbeiten, abfragen und verwenden von XML in der Datenbank mit T-SQL
  • HTML-Ergebnisse aus T-SQL-Abfragen direkt mit der Datenbank erzeugen und online anbieten
  • Webservices mit T-SQL einrichten und veröffentlichen
  • Fallstudien: Import-/Export-Schnittstelle mit .NET und XML/CSV, De-/Serialisierung mit .NET über XML, Transformation in der Datenbank über XSLT

 

Interview

Wie passt das Thema XML und Datenbanken überhaupt zusammen? Ist das für Unternehmen interessant?
Früher war dies sicherlich eher ein Exoten-Thema. Man konnte sich vorstellen, dass ein Content Management System seine Daten einmal nicht im Verzeichnis-System, sondern direkt in der Datenbank speichern könnte. Hier wurden dann aber auch oft einfach nur lange Zeichenketten als Spaltendatentypen verwendet und hatte gar keine Option, hier einen speziellen XML-Datentyp einzusetzen. Erst durch die Einführung von solch einem Datentypen beim MS SQL Server und – man muss es zugeben – schon lange vorher bei Oracle konnte man die Fähigkeiten von XML direkt in der Datenbank nutzen.
Welche Fähigkeiten sind dies? Wo sind die Vorteile gegenüber langen Zeichenketten?
Wenn der Inhalt einfach nur gespeichert und als Ganzes gelesen oder aktualisiert wird, dann ist es letztendlich egal, welchen Zeichenkettendatentyp man verwendet, solange die Länge richtig ist. Wenn ich aber XML direkt speichere, habe ich die Möglichkeit, Abfragen mit XPath oder XQuery, nur teilweise Aktualisierungen oder auch Umwandlungen direkt mit diesen Daten auszuführen. Es gibt hier im MS SQL Server eine Vielzahl an Werkzeugen, mit denen XML direkt in der Datenbank manipuliert werden kann.
Ist der XML-Datentyp nur für Spalten zu verwenden?
Man sollte hier zunächst erwähnen, dass es nicht nur darum geht, Spalten mit diesem Datentyp auszustatten, sondern vielmehr auch Variablen und Übergabe- und Rückgabeparameter. Man kann also zu entsprechenden XML-Spalten passende Programmbausteine entwickeln, die genau solche Daten erwarten, verarbeiten und wieder zurückliefern. So ist es möglich, aus relationalen Daten XML zusammenzusetzen und auch wieder den umgekehrten Weg einzuschlagen sowie natürlich auch XML zu verändern.
Welche Werkzeuge sind hier wohl besonders nützlich?
Zwei wurden ja schon genannt: XPath für die Lokalisierung von Knoten in einer XML-Spalte oder einer entsprechen Variable. XQuery stellt dagegen eine Möglichkeit dar, nicht nur Daten zu lokalisieren, sondern gleich eine so komplexe Abfrage zu formulieren, dass sie in Wirklichkeit einer Transformation gleichkommt. Die Syntax ist bei XML-Entwicklern noch nicht so verbreitet wie XPath, wird sich aber sicherlich jetzt durchsetzen, weil immer mehr Prozessoren verfügbar sind. Ein wichtiges und sehr großes Werkzeug ist das Erstellen von XML aus relationalen Abfragen. Dies gelingt über die FOR XML-Klausel, die man an gewöhnliche Abfragen anhängen kann und welche sehr viele Optionen zur XML-Generierung bietet. Hat man dann einmal XML-Daten möchte man sie möglicherweise auch wieder zerlegen, wozu es ebenfalls Werkzeuge gibt, die zwar nicht derart zahlreich sind, aber durch ihre Technik verblüffen und im Regelfall auch gängige Probleme lösen können. Schließlich, aber darauf kommen wir sicherlich noch, darf man nicht die Webservice-Unterstützung vergessen.
Gibt es etwas, dass Sie sich für die nächste Version Datenbank-Version wünschen?
Ja, und zwar wie bei Oracle einfache Unterstützung eines XSLT-Prozessors. Hier haben wir im Buch zwar ein .NET-Beispiel gebracht, um eine Funktion oder Prozedur zu erstellen, die genau eine XSLT-Umwandlung durchführen kann, aber natürlich wäre es wünschenswert, dies mit DB-Mitteln zu machen und nicht selbst eine kleine Anwendung schreiben zu müssen. Ansonsten sollten die Werkzeuge für alle Wechselfälle des Lebens absolut ausreichend sein. Sie sind darüber hinaus auch einfach zu bedienen, d.h. erfordern nur relativ wenig Syntax in T-SQL.
Welche Leser sprechen Sie an? Muss man XML-Kenntnisse haben?
Wir hatten im Team größere Diskussionen, ob man nun sämtliche Syntax von XML Schema, XPath, XQuery, WSDL oder SOAP voraussetzen soll, oder ob man einen großen Einstiegsteil macht, in dem dies erläutert wird. Dabei steht man natürlich immer mit zwei Beinen in kritischen Lagern: im Lager der Profi-Leser, die schon XML- und sogar Webservice-Kenntnisse haben, und im Lager der Anfänger-Leser, die in einem Buch einen Überblick erwarten. Wir haben uns hier dafür entschieden, nicht ein Einstiegskapitel zu schreiben, sondern bis auf allgemeine Grundlagen zu XML – wer sich für dieses Thema in Datenbanken interessiert, der wird dies auf jeden Fall wissen – in den Kapiteln, in denen die genannten Standards erwähnt werden, auch beispielorientierte Erklärungen zu schreiben. Dabei haben wir durchaus darauf geachtet, hier dem Thema MS SQL Server deutlich mehr Platz einzuräumen. Die einzigen beiden Themen, die hier etwas ausführlicher erläutert werden, sind Webservice-Grundlagen und XQuery, wobei sicherlich gerade XQuery nun besonders unbekannt ist und sich erst einmal seinen Weg bahnen muss.
Kommen wir zum nächsten großen Themenbereich: Webservices. Ist der Anwendungsbereich sinnvoll, gut gelöst, für die Praxis interessant?
In der Praxis sind natürlich Webservices und damit serviceorientierte Architekturen zurzeit ein Hype-Thema, das aber definitiv ein Dauerthema bleiben wird, weil so wirklich viele technische Herausforderungen für verteilte Anwendungen und plattformübergreifende Architekturen gelöst werden. Ob man nun die Webservice-Techniken nutzt, wie sie von einer Datenbank vorgegeben werden, ist eine Architektur- und Managementfrage. Technisch in jedem Fall haben wir diesen Bereich schon sehr genau auseinander genommen und neben .NET-Klienten, die natürlich wunderbar funktionieren, auch Java-Klienten geschrieben, die ebenfalls problemlos funktionierten. Die Idee, Prozeduren und Funktionen als Webservice-Methoden anzubieten, liegt eigentlich auf der Hand, die T-SQL-Syntax für die Einrichtung ist angemessen einfach, lediglich die Administration bzw. sicherheitsrelevante Fragestellungen darf man nicht aus den Augen lassen. Hier ist sicherlich die Zusammenarbeit von Administrator und Entwickler gefragt.
Welche Themen greifen Sie in diesem Bereich im Buch auf?
Der Bereich Webservices nimmt ja fast die Hälfte des gesamten Textes ein, was daran liegt, dass wir immer Services und Klienten geschrieben, einfache und komplexe Nachrichten vorgestellt, automatisch erzeugtes WSDL und selbst geschriebenes benutzt und aus Verständnisgründen und für die Erstellung von Klienten auch die jeweiligen SOAP-Anfragen und SOAP-Antworten in gekürzter Form abgedruckt haben. Wenn man ganz ordentlich vorne beginnt zu lesen, sieht man wie man zunächst eine Prozedur als Webservice freigibt, dann eine Prozedur und eine Funktion. Diese Varianten arbeiten alle mit einfachen Nachrichten, d.h. primitiven Ein- und Ausgabegabeparametern. Danach sieht man dann, wie man XML Schema-Dateien für die Modellierung von komplexen Nachrichten verwendet, um dann auch automatisch in der WSDL-Datei diese Strukturen vom WSDL-Generator einfügen zu lassen. Die Verwendung von typisiertem XML, d.h. der Einsatz von XML Schema und damit auch komplexen Nachrichten, ist sehr gut gelöst und kann für ganz gewöhnliche komplexe SOAP-Nachrichten hervorragend genutzt werden. Ein letzter Bereich sind die so genannten Batch-Webservices, bei denen T-SQL-Anweisungen in SOAP-Nachrichten zur Datenbank geschickt werden. Die Klienten sind in .NET und Java, wobei für .NET deutlich mehr Beispiele entwickelt wurden.

Marco Skulschus

DE, Berlin

Projektleiter/Berater

Comelio GmbH

Publikationen: 15

Aufrufe seit 12/2003: 1288
Aufrufe letzte 30 Tage: 3