Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und relevantere Anzeigen zu schalten. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

WCF Einführung

2.896 Aufrufe

Veröffentlicht am

Erwerbung von Grundkenntnissen in der Anwendungsentwicklung mit der Windows Communication Foundation

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

WCF Einführung

  1. 1. Vertriebssysteme / CRM Johannes HoppeDipl. Inf. (FH) Johannes Hoppe SRH Hochschule Heidelberg Fachbereich Informatik
  2. 2. Dipl. Inf. (FH) Johannes Hoppe MSP – WCF Vorlesung 25.03.2009 90 Minuten, 8 Teilnehmer
  3. 3. 3 Vorlesungsinhalt Ziel des praktischen Teils: Erwerbung von Grundkenntnissen in der Anwendungsentwicklung mit der Windows Communication Foundation Vorraussetzungen • C# 3.0 / .NET 3.0 Grundkenntisse • Microsoft Visual Studio 2005 / 2008 Vertriebssysteme / CRM
  4. 4. 4 Einführung Windows Communication Foundation (WCF): - Laufzeitumgebung - erlaubt es .NET CLR Typen für eine verteilte Kommunikation zu veröffentlichen (d.h. als Service zu agieren) - andere Services wie Applikations-eigene .NET CLR Typen zu konsumieren  SOAP Vertriebssysteme / CRM
  5. 5. 5 Einführung Windows Communication Foundation (WCF): - Vorgänger: - Enterprise Services“ (Namespace: System.EnterpriseServices), - „.NET Remoting“ (Namespace: SystemRuntime.Remoting) - ASP.NET Web Services (Namespace: System.Web.Services) - MSMQ (Microsoft Message Queuing – Namespace: System.Messaging) - unterstützt eine Vielzahl von Protokollen und bleibt so zu älteren Systemen abwärtskompatibel! Vertriebssysteme / CRM
  6. 6. 6 Einführung Vertriebssysteme / CRM
  7. 7. 7 Endpunkte - das Prinzip des Endpunkts - Endpunkt: „Anfang oder das Ende eines Nachrichtenaustauschs zwischen zwei verteilten Anwendungen“ Vertriebssysteme / CRM
  8. 8. 8 Endpunkte - Endpunkt beschreibt drei grundlegende Aspekte 1. den Ort 2. die Art und 3. den inhaltlichen Rahmen der Kommunikation Vertriebssysteme / CRM A – Address (Adresse) B – Binding (Anbindung) C – Contract (Vertrag)
  9. 9. 9 Kommunikationsmuster - Auch Message Exchange Patterns, „MEP“s 1. Request-Reply 2. Einweg 3. Duplex Request-Reply Vertriebssysteme / CRM
  10. 10. 10 Kommunikationsmuster Einweg Duplex Vertriebssysteme / CRM
  11. 11. 11 Hosting und Instanzen Hosting: - innerhalb einer eigenen Anwendung (Self-Hosting) - Webserver „IIS“ / Service Host in einer ASP.NET Anwendung - IIS-Dienst „Windows Activation Service“ (WAS) Vertriebssysteme / CRM
  12. 12. 12 Instanzen Per-Session Service: • Standardeinstellungen von WCF • Client und Server treten in eine Session (Sitzung) • Jede Sitzung verbleibt bis zum zu ihrem Ende im Arbeitsspeicher • Pro Sitzung gibt es eine spezielle Service-Instanz die sich in einem eigenen Context (Gültigkeitsbereich) befindet. [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)] Vertriebssysteme / CRM
  13. 13. 13 Instanzen Per-Session Service: Vertriebssysteme / CRM Hostender Prozess App Domain (~ Pseudo-Prozess) Service Host Theoretisch möglicher 2. Service Host Context Service-Instanz Context Service-Instanz Context Service-Instanz Endpunkte [ … ]
  14. 14. 14 Instanzen Per-Call Service: • auf Sitzungen verzichten. • Statt der Beibehaltung der Daten im Arbeitsspeicher wird für jeden Methodenaufruf eine Service-Instanz erzeugt • Der Arbeitsspeicher wird aufgeräumt, alle normalen Member- Variablen gehen wieder verloren • Consumer merkt nichts von der verworfenen Instanz: Service Host lässt alle Verbindungen über einen Proxy bestehe  Peformance-Empfehlung [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)] Vertriebssysteme / CRM
  15. 15. 15 Instanzen Per-Call Service: • auf Sitzungen verzichten. • Statt der Beibehaltung der Daten im Arbeitsspeicher wird für jeden Methodenaufruf eine Service-Instanz erzeugt • Der Arbeitsspeicher wird aufgeräumt, alle normalen Member- Variablen gehen wieder verloren • Consumer merkt nichts von der verworfenen Instanz: Service Host lässt alle Verbindungen über einen Proxy bestehe  Peformance-Empfehlung [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)] Vertriebssysteme / CRM
  16. 16. 16 Instanzen Per-Call Service: - parallel ablaufende Per-Call Services: [ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple)] - Vorsicht: Zugriff auf gemeinsam genutzte Variablen - Locks notwendig  Deadlocks können entstehen Vertriebssysteme / CRM
  17. 17. 17 Instanzen Singleton Service: • exakt eine Service-Instanz, die für alle Anfragen verwendet wird • Bleibt bis zur Beendung des Service Host aktiv • sind prinzipiell nicht skalierbar • sollten nur in begründeten Fällen eingesetzt werden! • z.B. Windows Dienst  Tray Applikation (muss nicht skalieren) [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)] Vertriebssysteme / CRM
  18. 18. 18 Los geht’s! Vertriebssysteme / CRM Wir bauen uns einen Webservice mit Consumer!
  19. 19. Dipl. Inf. (FH) Johannes Hoppe Vielen Dank für eure Aufmerksamkeit! ENDE

×