Web Services mit microsoft.net


Seminararbeit, 2004

28 Seiten, Note: 1.0


Leseprobe


Inhaltsverzeichnis

1 Einleitung

2 Einführung in Microsoft .Net
2.1 Das Microsoft .Net Framework
2.1.1 Die Common Language Runtime (CLR)
2.1.2 Die .Net Klassenbibliothek

3 Technologien von Web Services
3.1 Web Service Description Language (WSDL)
3.2 Simple Object Access Protocol (SOAP)
3.3 DISCO
3.4 Universal Description, Discovery and Integration (UDDI)

4 Programmierung von .Net Web Services
4.1 Ein ”Hello World”-Web Service
4.1.1 ”Hello World”-Web Service als Inline-Code
4.1.2 ”Hello World”-Web Service mit Code-behind
4.2 Das Attribut WebService
4.3 Das Attribut WebMethod
4.4 Die Attribute SoapDocumentMethod und SoapRPCMethod

5 Programmierung von .Net Web Service Clients
5.1 Das Publish-find-bind-Modell
5.2 Das Einbinden eines Web Services

6 Serialisierung
6.1 Flache vs. Tiefe Serialisierung
6.2 Übergabe von DataSets

7 Zustandsverwaltung
7.1 Transaktionen

8 Asynchrone Services
8.1 Polling
8.2 WaitHandles
8.3 Callbacks

9 Zusammenfassung und Ausblick

Literaturverzeichnis

A WSDL Beschreibung des MathService

1 Einleitung

Das Internet wird hauptsächlich zum Betrachten von HTML Dokumenten sowie zum Sen- den von Emails genutzt. Die Zukunftsvision, dass verschiedenste Geräte über das Internet kommunizieren um Informationen und Funktionalität auszutauschen ist bis dato nicht wahr geworden. Nun hat sich eine Allianz namhafter Firmen formiert (IBM, Microsoft, Sun, ...) um das Potential des Internet besser zu nutzen. Das erklärte Ziel dabei ist, dass Anwendun- gen Funktionalität über das Internet genauso leicht verfügbar machen können sollen wie auf dem lokalen PC. Das zentrale Konzept hierfür bilden Web Services. Ein Web Service ist eine Anwendung, die eine Dienstleistung über das Internet anbietet.

Microsoft bietet zum einfachen Entwickeln sowie Bereitstellen von Web Services das Microsoft .Net Framework an. In dieser Arbeit soll die Entwicklung und Nutzung von Web Services mit dem .Net Framework untersucht werden.

Das zweite Kapitel dieser Arbeit gibt eine Einführung in Microsoft .Net. Anschließend werden die Grundlagen von Web Services vorgestellt. Im vierten Kapitel wird dann die Programmierung von Web Services mit .Net dargestellt. Das darauf folgende Kapitel beschäftigt sich mit der Nutzung und Einbindung von Web Services. Im sechsten Kapitel wird genauer auf die Serialisierung von Daten eingegangen. Das siebte Kapitel befasst sich mit der Zustandsverwaltung von Web Services. Darauf folgt ein Kapitel über die Entwicklung und Nutzung asynchroner Web Services. Kapitel neun fasst die Ergebnisse der Arbeit zusammen und gibt einen Ausblick auf zukünftige Entwicklungen.

2 Einführung in Microsoft .Net

≫Bei Microsoft .NET handelt es sich um einen Satz von Softwaretechnologien zum Verknüpfen von Informationen, Menschen, Systemen und Geräten. Diese Technologie der nächsten Generation basiert auf Webservices - kleinen Anwendungsmodulen, die über das Internet sowohl miteinander als auch mit anderen, größeren Anwendungen kommunizieren können.≪[8]

Microsoft .Net ist eine Plattform (siehe Abb. 1), die es ermöglichen soll neue Dienste und Anwendungen anzubieten, sowie moderne Windows-Anwendungen zu entwickeln. Die Kernidee der .Net Technologie sind Web Services. Ein Web Service ist ein Dienst, der anderen Anwendungen Daten und Informationen über das Internet verfügbar macht. .Net soll den Rahmen für plattformunabhängige Dienste darstellen. Die enge Verzahnung mit Web Technologien (z.B. XML, SOAP, UDDI) soll es Clients ermöglichen von beliebigen Plattformen aus auf diese Dienste zuzugreifen.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1: Die .Net Plattform[9]

Web Services sollen mit anderen Web Services, Anwendungen und Clients kommunizieren und so eine einfache Entwicklung verteilter Anwendungen ermöglichen. Im folgenden Kapitel wird das .Net Framework vorgestellt, das die Infrastruktur für die .Net Plattform zur Verfügung stellt.

2.1 Das Microsoft .Net Framework

Das .Net Framework (siehe Abb. 2) bildet den Kern von Microsoft .Net. Es besteht aus einer Laufzeitumgebung (Common Language Runtime (CLR)) sowie der objektorientierten .Net Klassenbibliothek mit Bibliotheken für Windows- und Internet-Programmierung. In den folgenden Abschnitten wird weiter auf die einzelnen Bestandteile eingegangen.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2: Architektur des .Net Frameworks

2.1.1 Die Common Language Runtime (CLR)

Die Common Language Runtime (CLR) ist die Laufzeitumgebung auf der .Net Anwendungen ausgeführt werden. Wie auch die Java Runtime basiert die CLR auf einer virtuellen Maschine mit einem eigenen Befehlssatz, der Common Intermediate Language (CIL). Die Anwendungen werden unmittelbar vor der Ausführung von der CLR in den jeweiligen Maschinencode übersetzt (just in time compilation).

Den Entwicklern stehen verschiedene Programmiersprachen zur Auswahl um .Net An- wendungen zu entwickeln wie C#, VisualBasic, C++ oder J#. Alle Anwendungen sol- len miteinander interagieren können, unabhängig von der Programmiersprache in der sie geschrieben sind. Um dies zu erreichen muss sichergestellt sein, dass alle Programme die- selben Datentypen benutzen. Deswegen hat Microsoft das Common Type System (CTS) entwickelt. Das CTS definiert wie Datentypen, Klassen und Interfaces auszusehen haben. Da alle von Microsoft entwickelten .Net-Sprachen auf dem CTS aufbauen ist es möglich, eine in C# geschriebene Klasse mit VisualBasic zu erweitern oder gar eine Exception, die von einem C# Programm ausgelöst wurde, mit einer J# Komponente abzufangen.

Damit eine Sprache mit in anderen Sprachen geschriebenen Komponenten zusammenarbei- ten kann muss sie mindestens die Common Language Specification (CLS) (eine Teilmenge der CTS) unterstützen. Es gibt eine Vielzahl von Sprachen (neben den Microsoft spezifi- schen), die die CLS unterstützen, wie zum Beispiel Java, ML, Perl, Python und einige mehr.

Die CLR besitzt einen Garbage Collector sowie einen Verifier der sicherstellt, dass die Typregeln der CLR nicht verletzt werden.

2.1.2 Die .Net Klassenbibliothek

Die .Net Klassenbibliothek ist eine Bibliothek von Klassen, die von jeder CLR basierten Sprache genutzt werden können. Sie ist in verschiedene Namensräume unterteilt, die jeweils bestimmte Funktionalitäten bereitstellen (Collections , IO, Threading, Net, Reflection , Windows.Forms, Xml).

Die beiden wichtigsten Bibliotheken zur Entwicklung von Web Services sind ADO.Net und ASP.Net.

ADO.Net

ActiveX Data Object .Net (ADO.Net) stellt diverse Klassen zur Verfügung um auf Datenbanken oder andere Datenquellen (z.B. XML Dateien) zuzugreifen. Dabei werden DataSets als zentrale Datenstruktur verwendet (siehe auch Abschnitt 6.2).

ASP.Net

Active Server Pages .Net (ASP.Net) dient zur Entwicklung dynamischer Webseiten. Dabei kann es sich sowohl um klassische HTML Seiten als auch um Web Services handeln.

3 Technologien von Web Services

Für das Verständnis von Web Services und insbesondere deren Implementierung unter .Net sind Kenntnisse der eingesetzten Technologien notwendig. Daher werden in diesem Abschnitt die wichtigsten Technologien vorgestellt, die bei .Net Web Services zum Einsatz kommen.

3.1 Web Service Description Language (WSDL)

Web Service Description Language (WSDL)[4] ist ein XML Format um Web Services zu beschreiben. WSDL wurde von IBM und Microsoft gemeinsam formuliert und beim World Wide Web Consortium (W3C)1 eingereicht. Ein WSDL Dokument beschreibt das Interface eines Web Service.

In .Net wird jeder Web Service durch ein WSDL Dokument beschrieben. Die WSDL Be- schreibung wird automatisch aus dem Quellcode generiert, und ist ein fester Bestandteil des Web Service. Wird ein Service geändert oder neu kompiliert, so wird die WSDL Be- schreibung aktualisiert. Ein Beispiel für ein WSDL Dokument ist in Anhang A zu finden.

3.2 Simple Object Access Protocol (SOAP)

Simple Object Access Protocol (SOAP)2 [...] ist ein leichtgewichtiges Protokoll zum Austausch strukturierter Information in dezentralisierten, verteilten Umgebungen.[5]

SOAP ist eine Weiterentwicklung des XML-RPC Formats, das in einer Zusammenarbeit von Dave Winer und Microsoft entwickelt wurde. Es wird nun von einer Arbeitsgruppe weiterentwickelt der unter anderen IBM, Sun und Canon angehören. SOAP wird (im Gegensatz zu XML-RPC) vom W3C unterstützt. Im Bereich Web Services ist es das gängigste Format zum Austausch von Daten.

Der wichtigste Unterschied zwischen SOAP und XML-RPC besteht darin, dass unter SOAP der Name sowie die Reihenfolge von Parametern irrelevant sind. Im Gegensatz dazu ist bei XML-RPC die Reihenfolge entscheidend, da Parameter nicht mit Namen versehen sind.

SOAP stellt zwei Arten der Formatierung von Daten zur Verfügung:

- Bei dem Electronic Document Exchange Format wird die Kommunikation als Austausch von Nachrichten in Form von Dokumenten betrachtet. Das Electronic Document Exchange Format ist die Standardeinstellung in .Net.
- Bei Remote Procedure Calls (RPC) wird die Kommunikation als Rahmen zur Entwicklung verteilter Programme gesehen, die über RPCs kommunizieren.

Bei der Entwicklung von .Net Anwendungen können beide Methoden der Kommunikation verwendet werden. Dies wird in Abschnitt 4.4 näher erläutert.

SOAP Nachrichten können auf verschiedene Arten übertragen werden wie zum Beispiel HTTP, Sockets, Named Pipes oder auch SMTP. Listing 1 zeigt einen einfachen SOAP Request.

Listing 1: Eine SOAP-Nachricht für einen HelloWorld Web Service

Abbildung in dieser Leseprobe nicht enthalten

Web Services können unter .Net nicht nur über SOAP Nachrichten kommunizieren. Sie bieten auch die Möglichkeit, Anfragen direkt über POST oder GET zu senden. Da dies jedoch mit einigen Einschränkungen verbunden ist, wird im Folgenden davon ausgegangen, dass die Kommunikation über das SOAP Protokoll abgewickelt wird.

3.3 DISCO

DISCO ist eine Spezifikation von Microsoft um Clients das Finden aller Web Services eines bestimmten Servers zu ermöglichen. Eine DISCO Datei ist also eine Liste von Web Services und deren Addressen, die in einem speziellen XML Format abgelegt sind. Eine DISCO Datei kann wieder Referenzen auf die Adressen anderer Server enhalten. Listing 2 zeigt einen Auschnitt aus einer DISCO Datei.

Listing 2: Ausschnitt einer DISCO Datei für einen Webservice

Abbildung in dieser Leseprobe nicht enthalten

DISCO Dateien können entweder mit dem Visual Studio oder von der Kommandozeile mit dem Tool disco .exe generiert werden.

[...]


1 Siehe http://www.w3.org/.

2 Seit SOAP Version 1.2 handelt es sich bei SOAP um den offiziellen Namen des Protokolls und nicht mehr um eine Abkürzung, deswegen wird im Folgenden lediglich SOAP als Bezeichnung verwendet.

Ende der Leseprobe aus 28 Seiten

Details

Titel
Web Services mit microsoft.net
Hochschule
Albert-Ludwigs-Universität Freiburg  (Intitut für Informatik)
Veranstaltung
Seminar Webprogrammierung
Note
1.0
Autor
Jahr
2004
Seiten
28
Katalognummer
V35333
ISBN (eBook)
9783638352871
ISBN (Buch)
9783638652834
Dateigröße
527 KB
Sprache
Deutsch
Anmerkungen
Seminararbeit zum Thema 'Webservices mit Microsoft .Net'.
Schlagworte
Services, Seminar, Webprogrammierung
Arbeit zitieren
Jan Stamer (Autor:in), 2004, Web Services mit microsoft.net, München, GRIN Verlag, https://www.grin.com/document/35333

Kommentare

  • Noch keine Kommentare.
Blick ins Buch
Titel: Web Services mit microsoft.net



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden