Microsofts .Net: Werkstatt für Web-Services

Schulungsaufwand nicht unterschätzen

10.12.2001

Neben Web-Seiten lassen sich natürlich auch Web-Services bereitstellen und abrufen. Dazu kann man jede .NET-Programmiersprache verwenden, und die Ausführungsgeschwindigkeit steigt, da jetzt alles kompiliert wird - einschließlich serverseitigem JScript-Code.

Die Datenbankschnittstelle ADO (Active Data Objects) hat in der Version ADO.NET ebenfalls zugelegt. Sie kommt jetzt mit verschachtelten Strukturen zurecht und bietet eine ausgefeilte XML-Schnittstelle. Nun ist es möglich, datenbankunabhängige Tabellenstrukturen in XML zu überführen und umgekehrt. Zur Definition der XML-Strukturen dienen dabei XML-Schemata (XSD) entsprechend dem aktuellen W3C-Standard.

Sicherheit im Web

An der Erweiterung des rollenbasierten Sicherheitssystems kann man erkennen, wie konsequent .NET darauf abzielt, Anforderungen von Internet-Anwendungen zu unterstützen. Als Neuerung gibt es die so genannte Security by Evidence. Sie dient dazu, Zugriffsrechte nicht nur von der Rolle des Anwenders abhängig zu machen, sondern auch von der Art und Weise des Zugriffs. So lassen sich etwa verschiedene Sicherheitsrichtlinien für Anfragen aus dem Firmennetz und dem Internet definieren. Rechte können sogar davon abhängen, welches konkrete Programm zugreift. Dies ist vor allem für Web-Services sinnvoll, bei denen, im Gegensatz zu Web-Seiten, eine Anwendung als Client fungiert.

Eine andere wesentliche Neuerung stellt die Verwendung von Attributen dar. Sie wurden bereits in COM+ eingesetzt, etwa um Transaktionen zu steuern. Doch lassen sich im Gegensatz zu COM+, wo wenige fest definierte Attribute Verwendung finden, bei .NET beliebige Attribute selbst definieren.

Das .NET-Framework selbst benutzt Attribute zur Automatisierung komplexer Aufgaben. Wird zum Beispiel in einem Web-Service eine Methode mit dem Attribut "Web Method" gekennzeichnet, sorgt das .NET-Framework automatisch dafür, dass sich diese Methode über einen Soap-Aufruf ansprechen lässt. Dabei werden auch die notwendige Servicebeschreibung und sogar eine HTML-Testseite dynamisch generiert. Über die Common Language Infrastructure stehen diese Funktionen allen .NET-Programmiersprachen in Form von Klassen zur Verfügung. Daher lassen sich Erweiterungen und Anpassungen leicht durch Ableitung vornehmen.