INHALTSVERZEICHNIS 2
Inhaltsverzeichnis
1 Einleitung 3
2 Einf uhrung in Microsoft Net 4
2.1 Das Microsoft Net Framework 4
2.1.1 Die Common Language Runtime (CLR) 5
2.1.2 Die Net Klassenbibliothek 6
3 Technologien von Web Services 7
3.1 Web Service Description Language (WSDL) 7
3.2 Simple Object Access Protocol (SOAP) 7
3.3 DISCO 8
3.4 Universal Description, Discovery and Integration (UDDI) 9
4 Programmierung von Net Web Services 10
4.1 Ein Hello World -Web Service 10
4.1.1 Hello World -Web Service als Inline-Code 10
4.1.2 Hello World -Web Service mit Code-behind 11
4.2 Das Attribut WebService 12
4.3 Das Attribut WebMethod 12
4.4 Die Attribute SoapDocumentMethod und SoapRPCMethod 13
5 Programmierung von Net Web Service Clients 15
5.1 Das Publish-find-bind-Modell 15
5.2 Das Einbinden eines Web Services 15
6 Serialisierung 17
6.1 Flache vs. Tiefe Serialisierung 19
6.2
Ubergabe von DataSets 20
7 Zustandsverwaltung 21
7.1 Transaktionen 21
8 Asynchrone Services 22
8.1 Polling 22
8.2 WaitHandles 22
8.3 Callbacks 22
9 Zusammenfassung und Ausblick 23
Literaturverzeichnis 24
A WSDL Beschreibung des MathService 25
3 1 EINLEITUNG
1 Einleitung
Das Internet wird haupts¨ achlich zum Betrachten von HTML Dokumenten sowie zum Senden von Emails genutzt. Die Zukunftsvision, dass verschiedenste Ger¨ ate ¨ uber das Internet
kommunizieren um Informationen und Funktionalit¨ at 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¨ arte Ziel dabei ist, dass Anwendungen Funktionalit¨ at ¨ uber das Internet genauso leicht verf¨ ugbar machen k¨ onnen sollen wie auf dem lokalen PC. Das zentrale Konzept hierf¨ ur bilden Web Services. Ein Web Service ist eine Anwendung, die eine Dienstleistung ¨ uber 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¨ uhrung 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¨ aftigt 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 ¨ uber die Entwicklung und Nutzung asynchroner Web Services. Kapitel neun fasst die Ergebnisse der Arbeit zusammen und gibt einen Ausblick auf zuk¨ unftige Entwicklungen.
2 EINF ¨ 4 UHRUNG IN MICROSOFT .NET
2 Einf¨ uhrung in Microsoft .Net
Bei Microsoft .NET handelt es sich um einen Satz von Softwaretechnologien zum Verkn¨ upfen von Informationen, Menschen, Systemen und Ger¨ aten. Diese Technologie der n¨ achsten Generation basiert auf Webservices - kleinen Anwendungsmodulen, die ¨ uber das Internet sowohl miteinander als auch mit anderen, gr¨ oßeren Anwendungen kommunizieren k¨ onnen. [8]
Microsoft .Net ist eine Plattform (siehe Abb. 1), die es erm¨ oglichen 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 ¨ uber das Internet verf¨ ugbar macht. .Net
soll den Rahmen f¨ ur plattformunabh¨ angige Dienste darstellen. Die enge Verzahnung mit Web Technologien (z.B. XML, SOAP, UDDI) soll es Clients erm¨ oglichen von beliebigen Plattformen aus auf diese Dienste zuzugreifen.
Web Services sollen mit anderen Web Services, Anwendungen und Clients kommunizieren und so eine einfache Entwicklung verteilter Anwendungen erm¨ oglichen. Im folgenden Kapitel wird das .Net Framework vorgestellt, das die Infrastruktur f¨ ur die .Net Plattform zur Verf¨ ugung 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¨ ur Windows- und Internet-Programmierung. In den folgenden Abschnitten wird weiter auf die einzelnen Bestandteile eingegangen.
2 EINF ¨ 5 UHRUNG IN MICROSOFT .NET
2.1.1 Die Common Language Runtime (CLR)
Die Common Language Runtime (CLR) ist die Laufzeitumgebung auf der .Net Anwendungen ausgef¨ uhrt 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¨ uhrung von der CLR in den jeweiligen Maschinencode ¨ ubersetzt (just in time compilation).
Den Entwicklern stehen verschiedene Programmiersprachen zur Auswahl um .Net Anwendungen zu entwickeln wie C#, VisualBasic, C++ oder J#. Alle Anwendungen sollen miteinander interagieren k¨ onnen, unabh¨ angig von der Programmiersprache in der sie geschrieben sind. Um dies zu erreichen muss sichergestellt sein, dass alle Programme dieselben 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¨ oglich, eine in C# geschriebene Klasse mit VisualBasic zu erweitern oder gar eine Exception, die von einem C# Programm ausgel¨ ost wurde, mit einer J# Komponente abzufangen.
Damit eine Sprache mit in anderen Sprachen geschriebenen Komponenten zusammenarbeiten kann muss sie mindestens die Common Language Specification (CLS) (eine Teilmenge der CTS) unterst¨ utzen. Es gibt eine Vielzahl von Sprachen (neben den Microsoft spezifischen), die die CLS unterst¨ utzen, 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 EINF ¨ 6 UHRUNG IN MICROSOFT .NET
2.1.2 Die .Net Klassenbibliothek
Die .Net Klassenbibliothek ist eine Bibliothek von Klassen, die von jeder CLR basierten Sprache genutzt werden k¨ onnen. Sie ist in verschiedene Namensr¨ aume unterteilt, die jeweils bestimmte Funktionalit¨ aten 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¨ ugung 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.
7 3 TECHNOLOGIEN VON WEB SERVICES
3 Technologien von Web Services
F¨ ur das Verst¨ andnis 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 Beschreibung wird automatisch aus dem Quellcode generiert, und ist ein fester Bestandteil des Web Service. Wird ein Service ge¨ andert oder neu kompiliert, so wird die WSDL Beschreibung aktualisiert. Ein Beispiel f¨ ur 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¨ oren. SOAP wird (im Gegensatz zu XML-RPC) vom W3C unterst¨ utzt. Im Bereich Web Services ist es das g¨ angigste 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¨ ugung:
• 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.
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¨ urzung, deswegen wird im Folgenden lediglich SOAP als Bezeichnung verwendet.
Arbeit zitieren:
Jan Stamer, 2004, Web Services mit microsoft.net, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Workshop zum Thema "ASP" - Einführung in die Entwicklung dyn...
Seminararbeit, 22 Seiten
Hintergrundfähigkeiten und die Erklärung gesellschaftlicher Erscheinun...
Philosophie - Philosophie des 20. Jahrhunderts / Gegenwart
Seminararbeit, 18 Seiten
Nihilismus - Eine okzidentale Krankheit? Zur Genealogie des metaphysis...
Hausarbeit (Hauptseminar), 39 Seiten
Ausbildungswege in den Journalismus und deren Veränderungen während de...
Medien / Kommunikation - Journalismus, Publizistik
Hausarbeit (Hauptseminar), 18 Seiten
Erstellung und Einsatz von elektronischen Lerninhalten
Informatik - Internet, neue Technologien
Diplomarbeit, 147 Seiten
Sokrates kontra Dionysos oder: Die Notwendigkeit der Illusion
Philosophie - Philosophie der Antike
Seminararbeit, 15 Seiten
Wege aus der Sackgasse? Die Auswirkungen von Reformmodellen in der Pfl...
Diplomarbeit, 90 Seiten
Jan Stamer's Text Web Services mit microsoft.net ist nun auf dem Buchmarkt erhältlich
Jan Stamer hat den Text Web Services mit microsoft.net veröffentlicht
Jan Stamer hat einen neuen Text hochgeladen
Web Services, E-Business, and the Semantic Web
Second International Workshop,...
Christoph Bussler, Maria E. Orlowska, Jian Yang
MCTS Self-Paced Training Kit (Exam 70-515): Microsoft .NET Framework 4...
Tony Northrup, Mike Snell
Designing and Developing ASP.Net Applications Using the Microsoft.Net ...
MOAC (Microsoft Official Academic Course
Windows SharePoint Services 3.0-Programmierung
Anwendungsprogrammierung für S...
Ted Pattison, Daniel Larson, Detlef Johannis
Parallel Programming with Microsoft® .NET: Design Patterns
Design Patterns for Decomposit...
Colin Campbell
0 Kommentare