Distributed Programming in.NET. Inhaltsverzeichnis 1) Einführung 2).NET Remoting 3) Web-Services 4) Vergleich.NET Remoting und Web- Services 5) Fazit.

Slides:



Advertisements
Ähnliche Präsentationen
Vortrag Code-Dokumentation
Advertisements

Be.as WEB Technologie
Sichere Anbindung kleiner Netze ans Internet
.NET Remoting und XML Web Services. Ralf Westphal
Systemverwaltung wie es Ihnen gefällt.
Aufbau des Internets Überblick Prof. Dr. T. Hildebrandt
© 2003 Guido Badertscher Spontane Vernetzung - UPnP 9. Jänner 2004 Spontane Vernetzung Guido Badertscher.
SOAP Simple Object Access Protocol
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Datenbankzugriff im WWW (Kommerzielle Systeme)
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Web Services und Workflow-Steuerung
Pascal Busch, WWI00B – Vergleich CORBA vs. Web Services hinsichtlich der Applikationsintegration Web Services vs CORBA Web Services vs CORBA Ein Vergleich.
Java: Dynamische Datentypen
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Information und Technik Nordrhein-Westfalen Das personalisierte Portal Düsseldorf, Das personalisierte Portal.
JAVA RMI.
Introducing the .NET Framework
Strukturänderungen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Seminar Internet Technologien
Einführung in die Technik des Internets
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Klassen und Objekte
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Erstellen von WebServices mit Visual FoxPro 9.0
Björn Schmidt, Hoang Truong Nguyen
OGSI und Jini im Focus Sebastian Albrecht. 2 Gliederung OGSI Einordnung neue Komponenten Zukunft Jini Entstehung Architektur Lookup Service Bewertung.
von Julia Pfander und Katja Holzapfel E 12/2
Seminar Praktische Informatik Web Services
1 Softwareentwicklung mit.NET Teil 6.NET Remoting Dr. Ralph Zeller.
Seminarleiter: Herr Prof. Klement und Herr Prof. Kneisel
Software Architektur III
Die .NET Common Language Runtime
Die .NET Common Language Runtime
Web Services Die Zukunft netzbasierter Applikationen iternum GmbH Alexanderstraße Frankfurt/Main
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
ArcGIS als WPS Server Aktueller Stand der Umsetzung
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
Webservice Grundlagen
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Präsentation von Sonja Pathe
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Basiswissen für Partner und interessierte Kunden Technologie.
Grundlagen: Client-Server-Modell
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 2013 Kapitel 5 Folie 2 Windows Communication Foundation (WCF) s.a.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 2 Folie 2 ASP.NET HTTP-Handler (1)
Die Architektur von Jini Präsentation von Thomas Heinis & Michea Wankerl Seminar Information & Kommunikation WS 2000/01.
Management- und Web Services- Architekturen
Oliver Spritzendorfer Thomas Fekete
MTS Microsoft Transaction Server Martin Basziszta
Einführung OpenSTA. Agenda - über OGVIT - Warum Lasttests - Was ist OpenSTA - Wie arbeitet OpenSTA - Skripte für OpenSTA - OpenSTA Collectors - Tests.
Client-Server-Modell
Reinhold Rumberger Web Services.
Die AppDomain Das unbekannte Wesen?
->Prinzip ->Systeme ->Peer – to – Peer
Universal Plug and Play
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
Datenbanken im Web 1.
MD 4/02 CORBA Static/Dynamic Invocation Interface (SII/DII), Interface Repository.
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
ORB – Konzepte Ist – Analyse der betrieblichen Notwendigkeiten, Anforderungsableitung an moderne Lösungskonzepte, alternative ORB – Konzepte mit Zukunft,
1 Servlets Stephan Baldes. 2 Was ist ein Servlet? S E R V L E T = Eine auf Java-Technologie basierte Web-Komponente, die von einem Container.
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
Webservices SOAP und REST Nicole Fronhofs 1. Betreuer: Prof. Dr. Volker Sander 2. Betreuer: B. Sc. Sebastian Olscher.
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
© 2008 TravelTainment The Amadeus Leisure Group Webanwendungen mit Java - HttpServlets 17.Dezember 2010 Sebastian Olscher Erstprüfer: Hon.-Prof. Dr. H.
SOAP - WSDL Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. Manfred Thaller AM 2 Hauptseminar: Virtuelle.
 Präsentation transkript:

Distributed Programming in.NET

Inhaltsverzeichnis 1) Einführung 2).NET Remoting 3) Web-Services 4) Vergleich.NET Remoting und Web- Services 5) Fazit

Einführung (1) Distributed Programming: mehrere verschiedene physische Komponenten arbeiten zusammen als ein einziges System. Verteilte Applikation verstreut die Arbeit auf mehrere Prozessoren. Für die Verteilung der Arbeit muss sie speziell entwickelt sein. Neben der schwierigen Koordination der Zusammenarbeit, muss die Applikation auch in Aufgaben (tasks) zerlegt werden, die überhaupt verteilt werden können.

von COM zu.NET (1) COM ermöglicht Zusammenarbeit zwischen unabhängigen Komponenten und kann in irgend einer Programmiersprache geschrieben werden. DCOM bietet die notwendige Infrastruktur an, um COM- Komponenten über ein Netzwerk zu verwenden. Mit dem Aufkommen der Web-Technologie kam ActiveX, welche auf COM basiert, auf den Markt. Die COM-Technologie kam unter Beschuss, da unter anderem die Versionierung und Registrierung der Komponenten sehr kompliziert ist. Nach 9 Jahren Herrschaft war klar, dass COM ersetzt werden muss, und.NET wurde geboren.

von COM zu.NET (2) Vergleicht man COM und.NET kann eher von einer Evolution, denn einer Revolution gesprochen werden: beide verfolgen die gleichen Ziele, wobei.NET einfach besser ist: Sprachenunabhängigkeit, Komponenteninteroperabilität, Location Transparency, robuste Versionierung. So werden zum Beispiel.NET Komponenten nicht im Systemregister registriert die Lebensdauer eines Objektes wird durch Garbage Collection bestimmt, anstatt durch Zählen der Referenzen.

.NET Remoting – Konzept (1).NET Remoting ermöglicht die Kommunikation zwischen Objekten aus verschiedenen Applikationsgebieten oder Prozessen und dies unabhängig von Transportprotokollen, Serialisierungsformaten, Lebensdauer und Erstellungsart der Objekte. Fürs Remoting werden benötigt: eine Implementation eines Remotable Type (Server-Objekt), eine Host-Applikation, ein Klient, ein Transportmechanismus.

.NET Remoting – Konzept (2) By Value By Reference

.NET Remoting – Konzept (3) Auf entfernte Objekte wird über Kanäle (channels) zugegriffen. Kanäle transportieren die Nachrichten physikalisch von und zu entfernten Objekten. Es existieren zwei verschiedene Kanäle: TcpChannel und HttpChannel. Eine Möglichkeit.NET Remoting Komponenten zu veröffentlichen, ist über den Internet Information Server (IIS). Server-aktivierte Objekte können vom Typ Singleton oder SingleCall sein.

.NET Remoting – Konzept (4) Das Benutzen von Objekt-Referenzen ist das Herzstück von Remoting. Die Remoting Architektur ist sehr einfach. Bei der Konfiguration des Klienten reicht es ein neues Objekt des gewünschten Typen zu kreieren (z.B. mit new ).

.NET Remoting – Das Beispiel Remoting System Adder Remoting System Client Proxy Channel

Web-Services - Konzept Web-Services vereinigen diverse Technologien für den Zugriff auf Dienste verschiedener Anbieter in verteilten Systemen.

Charakteristiken Können z.B. auch unter Java verwendet werden. Heterogene, verteilte Dienste. Transport von Daten per HTTP, SMTP, Webserver. Beschreibung der transportierten Daten in XML. Unabhängig von Betriebssystem, Programmiersprache, binärem Übertragungsprotokoll. Die konkrete Implementation ist zustandslos und befindet sich häufig in einem Web-Service-Container (z.B. IIS). Der Container leitet Aufrufe weiter, aktiviert und deaktiviert die Objekte. Haben keine Kenntnisse über aufrufenden Klienten. Die Web Services Description Language (WSDL) beschreibt, was der Web Service anbietet. Unterstützt drei Protokolle: HTTP GET, HTTP POST, SOAP

Ein einfacher Web-Service (1) Da Web-Services zu oberst auf HTTP laufen, muss es auf der Maschine, wo die Dienste laufen irgend eine Art von Web Server haben, der das HTTP Protokoll unterstützt. Im vorliegenden Fall wird der Internet Information Services (IIS) benutzt, der eine built-in Komponente von Windows2000 ist. Er kann über die Systemsteuerung mit add/remove programs, windows components installiert werden.

Ein einfacher Web-Service (2) Web-Services werden in 3 Schritten erstellt: Eine neue *.asmx -Datei für den Web Service erstellen. Sie muss die -Direktive und die Klasse, die die Implementation bereitstellt enthalten. Die asmx-Datei ist für die Klienten der Eingangspunkt zum Web-Service. Die Klasse WebService vom System.Web.Services - Namensraum muss erweitert werden. Ermöglicht den Zugriff auf ASP Objekte. Eigener Namensraum definieren. Alle Methoden, die übers Web veröffentlicht werden sollen, müssen mit dem WebMethod -Attribut versehen werden. Dieses Attribut wird für die Generierung der WSDL verwendet.

Implementation IIS Web-Service wsdl.exe csc.exe ExampleProxy.dll ExampleProxy.cs Klient NetClient.exe /r:ExampleProxy.dll

SOAP SOAP ist ein XML-basiertes Protokoll, mit dem Daten verpackt und über ein Transportprotokoll (wie HTTP) verschickt werden können. Es ist ein asynchrones einweg Protokoll. Nachrichtenformate geben an, wie die Daten serialisiert und codiert werden. Zwei Nachrichtenformate Document : die Daten und Methodenaufrufe werden als XML- Dokument verschickt. SOAP legt keine Regeln fest, wie der Inhalt aussehen soll. Wird vor allem für grosse Datenmengen eingesetzt. Rpc : die Struktur der -Unterelemente wird nach SOAP- Regeln festgelegt. Für die Serialisierung der Daten können grundsätzlich beliebige Codierungsarten verwendet werden.

Lebenszyklus des Web-Service Web-Service-Objekte sind zustandslos. Sie werden bei einem Aufruf erzeugt und danach wieder zerstört. Will man die Daten über mehrere Methodenaufrufe hinweg beibehalten, so müssen sie im Zustand der aktuellen Sitzung oder Applikation gespeichert werden, indem man auf die Properties Session oder Application zugreift.

WSDL Die Beschreibung eines Web-Services muss selten per Hand erstellt werden, da viele Web-Service- Container diese automatisch generieren. Für die Integration verschiedener Web-Services ist es aber nützlich die Struktur der WSDL zu kennen. Die WSDL beschreibt: welche Services welche Methoden anbieten, über welche Ports, Protokolle und Nachrichten die Methoden aufgerufen werden können, welche Namen und welche Parameter eine Nachricht hat, wie die verwendeten Datentypen einer Nachricht aussehen.

Web Service Discovery Web-Service können privat oder öffentlich sein. Es macht Sinn, dass einzelne Web-Services nicht für die Öffentlichkeit bestimmt ist. Um die Web-Services bekannt zu machen, stellen die Autoren Discovery Dateien ins Internet. Potentielle Klienten können so herausfinden, wo sich gewünschte Dienste befinden, und wie sie benutzt werden (WSDL). Die Dienste können auf zwei Arten bekannt gemacht werden: statisch oder dynamisch. In beiden Fällen übermittelt XML den Standort der Dienste.

.NET Remoting vs. Web- Services.NET Remoting ist schneller als Web-Services. Auf ASP.NET basierten Web-Services kann nur über HTTP zugegriffen werden. Für.NET Remoting kann irgend ein Protokoll verwendet werden. Web-Services arbeiten in einer zustandslosen Umgebung, wobei jede Anfrage in der Kreation eines neuen Objektes resultiert, das die Anfrage bedient..NET Remoting unterstützt Zustandsmanagement, Callbacks und kann mehrere Aufrufe desselben Klienten korrelieren. Web Services kann nur Objekte behandeln, die vollständig in XML ausgedrückt werden können. Bei.NET Remoting können Objekte by value oder by reference übergeben werden können. Web-Services unterstützen die Interoperabilität über verschiedene Plattformen und sind gut für heterogene Umgebungen..NET Remoting erfordern, dass die Klienten durch Benützen von.NET erstellt werden, oder einem anderen Framework, welches.NET Remoting unterstützt, das heisst homogene Umgebungen.

Fazit Die beiden Technologien Web-Services und Remoting, die von der.NET-Infrastruktur für die verteilte Programmierung vorgesehen sind, können im Vergleich mit COM als Revolution bezeichnet werden. Verteilte Komponenten sind nun viel einfacher zu erstellen, und es gibt auch viel mehr Möglichkeiten. Welche der beiden Technologien vor allem eingesetzt werden soll, ist schwer zu sagen. Beide haben ihre Vor- und Nachteile. Schlussendlich muss der Entwickler abwägen, ob ihm die Web- Services oder die.NET Remoting Komponenten den grösseren Nutzen bringen.

Distributed Programming in.NET Fragen? Bemerkungen?