WCF Einführung

2.828 Aufrufe

Veröffentlicht am

Erwerbung von Grundkenntnissen in der Anwendungsentwicklung mit der Windows Communication Foundation

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

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

Keine Downloads
Aufrufe
Aufrufe insgesamt
2.828
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
629
Aktionen
Geteilt
0
Downloads
19
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

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

×