.NET-Networking 2 Windows Communication Foundation



Ähnliche Dokumente
SRH Hochschule Heidelberg

Zustandsgebundene Webservices

Ein Vergleich zwischen SCA,JBI und WCF. Marcello Volpi

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

WCF Services in InfoPath 2010 nutzen

WebService in Java SE und EE

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

ELIS 2.6 WCF Schnittstellenbeschreibung

Sicherheitsaspekte in Service Orientierten Architekturen. Eike Falkenberg Sommersemester 2006 Anwendungen I

Workflow, Business Process Management, 4.Teil

Wiederholung: Beginn

XMPP: Extensible Messaging and Presence Protocol

Objektorientierte Programmierung

.Net Security. Proseminar Objektorientiertes Programmieren mit.net und C# Sabahattin Giritli. Institut für Informatik Software & Systems Engineering

Themen. Web Service - Clients. Kommunikation zw. Web Services

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

EXCHANGE Neuerungen und Praxis

HMS. Statistiken mit SAS ins Internet. HMS Analytical Software GmbH - Johannes Lang

Verteilte Systeme: Übung 4

Comtarsia SignOn Familie

Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen?

AKWi: SOA SOA-Technologiebenchmark Java RMI vs. Microsoft WCF

Java: Vererbung. Teil 3: super()

Exception Handling, Tracing und Logging

ISA Server 2004 Einzelner Netzwerkadapater

WSDL. Web Services Description Language. André Vorbach. André Vorbach

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

Ein einfacher Server. .NET Remoting. Klassentypen

.NET Security. Proseminar Objektorientiertes Programmieren mit.net und C# Bulwahn Julian. Institut für Informatik Software & Systems Engineering

Tel.: Fax: Ein Text oder Programm in einem Editor schreiben und zu ClassPad übertragen.

GUI-Entwicklung 2: Windows Presentation Foundation

3-schichtige Informationssystem-Architektur

Lokale Installation von DotNetNuke 4 ohne IIS

Smap3D PDM 10. Installation. Stand-Alone-Migration-Analyzer

:: Anleitung Hosting Server 1cloud.ch ::

PCC Outlook Integration Installationsleitfaden

FAQ IMAP (Internet Message Access Protocol)

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Windows Small Business Server (SBS) 2008

Ein neues Outlook Konto können Sie im Control Panel über den Eintrag Mail erstellen.

Step by Step Webserver unter Windows Server von Christian Bartl

ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote

Das Handbuch zu KNetAttach. Orville Bennett Übersetzung: Thomas Bögel

Firewalls für Lexware Info Service konfigurieren

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Firewalls für Lexware Info Service konfigurieren

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

Installation Microsoft SQL Server 2008 Express

Spezifikation DPD und primetime WebService Shopfinder Gültig für Paketversender in Österreich. Version 3.3.0

Kurzanleitung So geht s

Daniel Warneke Ein Vortrag im Rahmen des Proseminars Software Pioneers

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

Man liest sich: POP3/IMAP

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

Modul 2: Automatisierung des Posteingangs - Regel- und Abwesenheits-Assistent

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Jürgen Kotz Rouven Haban Simon Steckermeier. WCF, WPF und WF - Ein Überblick ADDISON-WESLEY. An imprint of Pearson Education

Lizenzierung von System Center 2012

Übungen zur Softwaretechnik

[DvBROWSER] Offline-Viewer für [DvARCHIV] und [DvARCHIVpersonal] Version 2.2

Übungen zu Softwaretechnik

Elektronische Zustellung WKO / AustriaPro. Status Arbeitspakete PL.O.T

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Lizenzierung von Windows Server 2012

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Umstieg auf Microsoft Exchange in der Fakultät 02

SharePoint-Migration.docx

DocuWare unter Windows 7

Lernprogramm "Veröffentlichen von WMS- Services"

Web Sockets mit HTML5. Quelle:

Thema: Web Services. Was ist ein Web Service?

Java Web Services Metadata JSR-181

Java Einführung Packages

XML und SOAP Einführung und Grundlagen

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

VVA Webservice Online Lieferbarkeits-Abfrage

IPA FAX Dienste. Die Alternative für Faxgeräte

Dieser Artikel beschreibt die Veröffentlichung eines Microsoft SQL Server 2000 über einen ISA Server 2004.

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

ÖSTERREICH RECHNET MIT UNS. Standard e-rechnungs-webservice (SERWS) - Status DI Philip Helger, BRZ

Web Interface für Anwender

EASY Starter OPC UA Server

Installation SelectLine SQL in Verbindung mit Microsoft SQL Server 2014 Express with management tools

Kurzanleitung SEPPmail

ISA Server Exchange RPC over HTTPS mit NTLM-Authentifizierung

Step by Step Remotedesktopfreigabe unter Windows Server von Christian Bartl

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

ModeView Bedienungsanleitung

Verwendung des IDS Backup Systems unter Windows 2000

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihren Gästen die Anmeldung über eine SMS ermöglichen.

ISA Server 2004 Erstellen einer Webverkettung (Proxy-Chain) - Von Marc Grote

Seite Out-Of-Band-Authentifizierung (OOBA) 8.1 Einleitung

Auszug aus JAX-WS Folien

Transkript:

.NET-Networking 2 Windows Communication Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Fabian Raab Institut für Informatik Software & Systems Engineering

Agenda Grundproblem Bestandteile des Services Bestandteile des Klient Architektur der WCF Hosting Messaging Laufzeitverhalten Service Informationen Contract Binding Medtadaten Zusammenfassung Agenda 2

Grundproblem Client class Application { //... service.func("hello"); } Server Netzwerk class Service { void func(string arg) {...} }? Grundproblem 3

Lösung durch die WCF Client class Application { //... proxy.func("hello"); } class Proxy { void func(string arg) {...} } Server Netzwerk Kanal Grundproblem class Service { void func(string arg) {...} } WCF-Service 4

Agenda Grundproblem Bestandteile des Services Bestandteile des Klient Architektur der WCF Hosting Messaging Laufzeitverhalten Service Informationen Contract Binding Medtadaten Zusammenfassung Agenda 5

Bestandteile des Services Service Host Application Implementierung & veröffentlichte Schnittstelle (Library) Konfigurationsdatei (app.config) Bestandteile des Services 6

Ausführbare.NET Andwendung using System; WCF Assembly using System.Text; using System.ServiceModel; using EchoLibrary; Unsere Service Library Service Host namespace ConsoleEchoService Application { class Program { Neue Instanz des Services static void Main(string[] args) { using (ServiceHost selfhost = new ServiceHost(typeof(Echo))) { Erlaubt Verbindungen selfhost.open(); Console.WriteLine("WCF Service is ready."); Console.ReadLine(); // do not end the service } } } } Bestandteile des Services 7

Agenda Grundproblem Bestandteile des Services Bestandteile des Clients Architektur der WCF Hosting Messaging Laufzeitverhalten Service Informationen Contract Binding Medtadaten Zusammenfassung Agenda 8

Bestandteile des Clients Aus Metadaten mit dem Service Metadata Utility Tool (svcutil.exe) generiert Programm & Proxy Class Konfigurationsdatei (app.config) Bestandteile des Clients 9

Proxy Class (Auszug) public partial class EchoClient : System.ServiceModel.ClientBase<IEcho>, IEcho { public EchoClient() {} // [...](many Contructors) Konstruktoren public string echostring(string echomsg) { return base.channel.echostring(echomsg); } Lokal definierte Operation } Bestandteile des Clients 10

Implementierung Client using System; using System.Text; namespace ConsoleEchoClient { class Program { Verbindung mithilfe static void Main(string[] args) Proxys erstellen { EchoClient echoclient = new EchoClient(); Console.WriteLine("Connecton established."); des Console.WriteLine("Server response: \"{0}\"", echoclient.echostring("hello World!")); echoclient.close(); } } } Senden der Nachricht & Ausgabe der Antwort Bestandteile des Clients 11

Agenda Grundproblem Bestandteile des Services Bestandteile des Klient Architektur der WCF Hosting Messaging Laufzeitverhalten Service Informationen Contract Binding Medtadaten Zusammenfassung Agenda 12

Architektur der WCF Architektur der WCF 13

Hosting Hosting Stellt den eigentlichen Service bereit Können auf folgende Arten gehostet werdenden: Ausführbare.NETAnwendung Internet Information Service (ISS) Windows Dienst Windows Activation Service (WAS) 14

Agenda Grundproblem Bestandteile des Services Bestandteile des Klient Architektur der WCF Hosting Messaging Laufzeitverhalten Service Informationen Contract Binding Medtadaten Zusammenfassung Agenda 15

Messaging Vorgang des Übertragens von Nachrichten Wichtigster interoperable WebServices Standard: SOAP Message Exchange Pattern One-Way Request-Reply Duplex Messaging 16

Senden einer Nachricht (Client Server) Messaging 17

Transportprotokolle und Kodierungen ProtokollPS Kodierung Vorteile Nachteile HTTP / HTTPS XML nach WSDL Maximale Interoperabilität langsam & Kein Duplex bei HTTPS TCP / Named Pipes Binär Sehr schnell Client muss Kodierung kennen Microsoft Message Queuing (MSMQ) Messaging 18

WS-I Basic Profile Problem viele unterschiedliche Versionen der Standards Web Services Interoperability Organinzation (WS-I) Spezifiziert genau alle Standards in Version und Ausführung So müssen nur noch Version des Basic Profile übereinstimmen Messaging 19

Senden einer Nachricht (Client Server) Messaging 20

Web Service Enhancements (WS*) Spezifizieren weitere optionale Standards wie z.b Transaktionssicherheit Authentifizierung Spezifiziert von: World Wide Web Consortium (W3C) Organization for the Advancement of Structured Information Standards (OASIS) Messaging 21

Agenda Grundproblem Bestandteile des Services Bestandteile des Klient Architektur der WCF Hosting Messaging Laufzeitverhalten Service Informationen Contract Binding Medtadaten Zusammenfassung Agenda 22

Laufzeitverhalten Legt das Verhalten von Klient oder Service in bestimmten Situationen während der Laufzeit fest Überwachen die Nachrichten und geben gewisse Regeln vor (z.b. timeouts) oder erweitern um gewisse Funktionen (z.b. Logging der Nachrichten Diese werden nicht ausgetauscht, sondern legt jeder Klient und Service für sich selbst fest Laufzeitverhalten 23

Service-Informationen Alle Informationen, die der Client benötigt Service-Informationen 24

Contract Definiert die veröffentlichten Funktionalitäten ServiceContract Veröffentlicht Klasse oder Interface OperationContract Veröffentlicht Methode in einem ServiceContract DataContract Veröffentlicht Typen Service-Informationen 25

Contract (Beispiel) using using using using System; System.Runtime.Serialization; System.ServiceModel; System.Text; WCF Assembly Veröffentlichen namespace EchoLibrary { [ServiceContract] Veröffentlichen public interface IEcho { [OperationContract(Name = "echostring")] string echo(string echomsg); } } Eindeutiger Name für Client als Parameter Service-Informationen 26

Endpunkte Über Endpunkte können Nachrichten ausgetauscht werden Ein Service kann mehrere Endpunkte haben <services> <service name="echolibrary.echo"> <endpoint address="http://localhost:8732/" binding="wshttpbinding" contract="echolibrary.iecho"> </endpoint> </service> (app.config) </services> Service-Informationen 27

Contract <service name="echolibrary.echo"> <endpoint address="http://localhost:8732/" binding="wshttpbinding" contract="echolibrary.iecho"> </endpoint> (app.config) </service> Service-Informationen 28

Adresse Transportprotokoll URISchreibweise HTTP http HTTPS https TCP net.tcp Named Pipes net.pipe MSMQ net.msmq Transportprotokoll://Domainname[:Portnummer][/Verzeichnis] <service name="echolibrary.echo"> <endpoint address="http://localhost:8732/" binding="wshttpbinding" contract="echolibrary.iecho"> </endpoint> (app.config) </service> Service-Informationen 29

Binding Legt mindestens fest: Transportprotokoll Kodierung Kann beliebig erweitert werden (WS* Spezifikationen) Service-Informationen 30

Vordefinierte Bindings BasicHttpBinding http mit Standardport 80 xml Kodierung wshttpbinding Zusätzlich WS* Erweiterungen erlaubt <service name="echolibrary.echo"> <endpoint address="http://localhost:8732/" binding="wshttpbinding" contract="echolibrary.iecho"> </endpoint> (app.config) </service> Service-Informationen 31

Metadaten Enthalten alle ServiceInformationen Können vom Klienten abgerufen werden Benötigt der Klient um zu wissen wie er mit dem Service Kommunizieren kann Können von Speziellen Metadata Exchange (MEX)Endpunkten abgerufen werden oder per HTTP-GET (Behavior) Service-Informationen 32

Agenda Grundproblem Bestandteile des Services Bestandteile des Klient Architektur der WCF Hosting Messaging Laufzeitverhalten Service Informationen Contract Binding Medtadaten Zusammenfassung Agenda 33

Zusammenfassung WCF veröffentlicht Methoden und Klassen Beim Programmieren kann es als Framework eingebunden werden Funktionen werden automatisch und transparent serialisiert Architektur mit unabhängig konfigurierbaren Elementen, sodass diese beliebig erweitert werden können Fasst folgende Technologien zusammen:.net Remoting.NET Enterprise (COM+) Web Service Enhancements (WSE) Microsoft Massage Queuing (MSMQ) ASP.NET Webservices (ASMX) werde Einleitung 34

Vielen Dank für ihre Aufmerksamkeit... Fragen? Client 35