Kurzvorstellung                                                          Start                                           W...
Agenda•      Historische Entwicklung der Kommunikation•      Verteilte Anwendungen•      Was ist WCF?•      WCF Architektu...
Historische Entwicklung der              Applikations-KommunikationSoftware: Planen. Entwickeln. Testen.
Historische Entwicklung der                        Applikations-ArchitekturSoftware: Planen. Entwickeln. Testen.
Historische Entwicklung der                        AnwendungenSoftware: Planen. Entwickeln. Testen.
Anforderungen verteilter                                  Anwendungen                                         • Implementi...
Was ist WCF?• Kommunikationsplattform für verteilte Anwendungen• Vereinheitlichung verschiedener  Kommunikationstechnologi...
WCF Unified Framework                                        • ASMX (WebService)                                          ...
WCF-Kommunikation                                          • Dienstorientiert                                          • W...
WCF im .NET Framework                                        • Erste Funktionalität                                       ...
WCF-Architektur                                                • 4 Hauptebenen der                                        ...
Vertrags-Ebene                                               •   Definiert die verschiedenen                              ...
Dienstlaufzeit-Ebene                                            •   Steuert das Verhalten während der                     ...
Messaging-Ebene                                                • Besteht aus Kanälen                                      ...
Aktivierungs- und Hosting Ebene                                        • WCF-Dienste können                               ...
WCF-Systemanforderungen• Standardmässig auf Vista installiert• Kann auch auf XP Professional SP2 und  Server2003 installie...
Wie funktioniert WCF?• Endpunkte• ABC• VerhaltenSoftware: Planen. Entwickeln. Testen.
WCF-Endpunkte        Client                                             Service                                           ...
WCF-ABC        Client                                                             Service                                 ...
WCF-Verhalten        Client                                                       Service                                 ...
Demo 1                                        WCFTestClient                                         EndpointsSoftware: Pla...
Wie verwende ich WCF?Software: Planen. Entwickeln. Testen.
1. Contract definierenSoftware: Planen. Entwickeln. Testen.
2. Service implementierenSoftware: Planen. Entwickeln. Testen.
3. Endpunkte definierenSoftware: Planen. Entwickeln. Testen.
4. Service hostenSoftware: Planen. Entwickeln. Testen.
5. Proxy erzeugenSoftware: Planen. Entwickeln. Testen.
6. Endpunkt wählenSoftware: Planen. Entwickeln. Testen.
Demo 2                           WCF Service und Client erstellenSoftware: Planen. Entwickeln. Testen.
Demo 3                                        WCF-InstancingSoftware: Planen. Entwickeln. Testen.
Demo 4                                        WCF-ThrottlingSoftware: Planen. Entwickeln. Testen.
Demo 5                                        WCF-Transacted (MSMQ)Software: Planen. Entwickeln. Testen.
Koexistenz .NET Remoting und WCF• .NET Remoting und WCF können parallel  verwendet (side-by-side)• Paralleler Einsatz soga...
Migration .NET Remoting nach WCF• Ist für die meisten Applikationen ein einfaches  Vorgehen in 3 Schritten:         – Inte...
Performancevergleich .NET                             Remoting vs. WCF    •     Client and Server are both placed on a sin...
Zukunft von WCF• Microsoft entwickelt leistungsfähigen  Applikationsserver für verteilte .NET  Anwendungen         – Windo...
Ende         Danke für die Aufmerksamkeit!Software: Planen. Entwickeln. Testen.
Nächste SlideShare
Wird geladen in …5
×

Creasoft - Einführung Windows Communication Foundation

1.431 Aufrufe

Veröffentlicht am

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
1.431
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
770
Aktionen
Geteilt
0
Downloads
3
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Creasoft - Einführung Windows Communication Foundation

  1. 1. Kurzvorstellung Start WCF Windows Communication Foundation (Indigo)Software: Planen. Entwickeln. Testen.
  2. 2. Agenda• Historische Entwicklung der Kommunikation• Verteilte Anwendungen• Was ist WCF?• WCF Architektur• Wie funktioniert WCF?• Demo1• Wie verwende ich WCF?• Demo2 ... 5• .NET Remoting vs. WCF, Migration, Performance• Zukunft von WCFSoftware: Planen. Entwickeln. Testen.
  3. 3. Historische Entwicklung der Applikations-KommunikationSoftware: Planen. Entwickeln. Testen.
  4. 4. Historische Entwicklung der Applikations-ArchitekturSoftware: Planen. Entwickeln. Testen.
  5. 5. Historische Entwicklung der AnwendungenSoftware: Planen. Entwickeln. Testen.
  6. 6. Anforderungen verteilter Anwendungen • Implementiere Geschäftlogik soll auch von anderen Anwendungen verwendet werden können. • Verschiedenartige Kommunikations- anforderungen (Interoperabilität, Security, Leistung)Software: Planen. Entwickeln. Testen.
  7. 7. Was ist WCF?• Kommunikationsplattform für verteilte Anwendungen• Vereinheitlichung verschiedener Kommunikationstechnologien (XML-Webservices, Remoting, MSMQ, COM+, NamedPipes)• Funktionsunterstützung für Authentifizierung, Verschlüsselung, Transaktionen und Zuverlässigkeit• Serviceorientierte Architektur, geringe Kopplung, Protokollunabhängig• ErweiterbarSoftware: Planen. Entwickeln. Testen.
  8. 8. WCF Unified Framework • ASMX (WebService) plattformübergreifend • Remoting eng gekoppelte .NET to .NET Anwendungen • Enterprise Services COM+, verteilte Transaktionen • WSE (WebService Extensions) WS-* Spezifikationen (Security, Transaction, …) • Messaging MSMQ (garantierte Datenlieferung, Entkoppelung Arbeitslast), Named PipesSoftware: Planen. Entwickeln. Testen.
  9. 9. WCF-Kommunikation • Dienstorientiert • WCF-Client und WCF-Dienst interagieren über SOAP • Für hohe Leistungen kann eine optimierte Binärversion von SOAP konfiguriert werden -> Durchsatz + 25% • WCF ist eine der schnellsten verteilten Anwendungs- plattformenSoftware: Planen. Entwickeln. Testen.
  10. 10. WCF im .NET Framework • Erste Funktionalität für Fernaufrufe in .Net 1.0 (Remoting und XML-WebServices) • Vollständig und Vereinheitlicht seit .NET 3.0Software: Planen. Entwickeln. Testen.
  11. 11. WCF-Architektur • 4 Hauptebenen der Architektur von WCFSoftware: Planen. Entwickeln. Testen.
  12. 12. Vertrags-Ebene • Definiert die verschiedenen Aspekte des Nachrichtensystems • Datenvertrag -> beschreibt die Nachrichtenparameter • Nachrichtenvertrag -> beschreibt bestimmte Nachrichtenteile (SOAP) • Dienstvertrag -> beschreibt die Methodensignaturen des Dienstes • Richtlinien -> z.B. Sicherheitsanforderungen • Bindungen -> verwendeten Transport (HTTP, TCP) und ProtokollSoftware: Planen. Entwickeln. Testen.
  13. 13. Dienstlaufzeit-Ebene • Steuert das Verhalten während der Laufzeit • Einschränkungsverhalten -> steuert wie viele Nachrichten verarbeitet werden • Fehlerverhalten -> steuert wie bei internen Dienstfehler reagiert wird • Metadatenverhalten -> steuert was öffentlich verfügbar gemacht wird • Instanzverhalten -> steuert mit wie vielen Instanzen des Dienstes verarbeitet wird • Transaktionsverhalten -> steuert Rollback von durchgeführten Vorgängen im Falle eines FehlersSoftware: Planen. Entwickeln. Testen.
  14. 14. Messaging-Ebene • Besteht aus Kanälen • Es gibt 2 Arten von Kanälen • Transportkanäle -> lesen und schrieben Nachrichten aus den Netzwerk (teilweise mit Encoder) • Protokollkanäle -> implementieren Nachrichtenverarbeitungs- protokolle. Erfolgt häufig durch lesen oder schreiben zusätzlicher Headers (WS- Security, WS-Reliability)Software: Planen. Entwickeln. Testen.
  15. 15. Aktivierungs- und Hosting Ebene • WCF-Dienste können verschieden gehostet werden: – EXE (Selbsthostung) – IIS – WindowsService – WAS (ermöglicht automatischen Start des Dienstes)Software: Planen. Entwickeln. Testen.
  16. 16. WCF-Systemanforderungen• Standardmässig auf Vista installiert• Kann auch auf XP Professional SP2 und Server2003 installiert werdenSoftware: Planen. Entwickeln. Testen.
  17. 17. Wie funktioniert WCF?• Endpunkte• ABC• VerhaltenSoftware: Planen. Entwickeln. Testen.
  18. 18. WCF-Endpunkte Client Service Endpoint Endpoint Endpoint Endpoint • Endpunkte – Einen pro Client – Einen oder mehrere pro Service – Beinhalten jeweils die Eigenschaften ABCSoftware: Planen. Entwickeln. Testen.
  19. 19. WCF-ABC Client Service A B C C B A A B C A B CAddress Binding Contract • Address -> Wo? URL mit Pfad und Port • Binding -> Wie? Kanal und Protokoll • Contract -> Was? Methoden und DatenSoftware: Planen. Entwickeln. Testen.
  20. 20. WCF-Verhalten Client Service A B C C B A A B C A B C BV Behaviour• Das Laufzeitverhalten (Behaviour) des Services ist genau steuerbar – Instanzierung – Parallelität (Concurrency) – Drosselung – Transaction – Security – …Software: Planen. Entwickeln. Testen.
  21. 21. Demo 1 WCFTestClient EndpointsSoftware: Planen. Entwickeln. Testen.
  22. 22. Wie verwende ich WCF?Software: Planen. Entwickeln. Testen.
  23. 23. 1. Contract definierenSoftware: Planen. Entwickeln. Testen.
  24. 24. 2. Service implementierenSoftware: Planen. Entwickeln. Testen.
  25. 25. 3. Endpunkte definierenSoftware: Planen. Entwickeln. Testen.
  26. 26. 4. Service hostenSoftware: Planen. Entwickeln. Testen.
  27. 27. 5. Proxy erzeugenSoftware: Planen. Entwickeln. Testen.
  28. 28. 6. Endpunkt wählenSoftware: Planen. Entwickeln. Testen.
  29. 29. Demo 2 WCF Service und Client erstellenSoftware: Planen. Entwickeln. Testen.
  30. 30. Demo 3 WCF-InstancingSoftware: Planen. Entwickeln. Testen.
  31. 31. Demo 4 WCF-ThrottlingSoftware: Planen. Entwickeln. Testen.
  32. 32. Demo 5 WCF-Transacted (MSMQ)Software: Planen. Entwickeln. Testen.
  33. 33. Koexistenz .NET Remoting und WCF• .NET Remoting und WCF können parallel verwendet (side-by-side)• Paralleler Einsatz sogar innerhalb derselben Applikation oder derselben AppDomain.• Man kann sogar serverseitige Objekte erzeugen, welche von .NET Remoting und WCF verwendet werden.Software: Planen. Entwickeln. Testen.
  34. 34. Migration .NET Remoting nach WCF• Ist für die meisten Applikationen ein einfaches Vorgehen in 3 Schritten: – Interface Contracts mit [ServiceContract] und [OperationContract] markieren – Datenstrukturen mit [DataContract] und [DataMember] markieren – Evtl. Activation Model von Client Activated Objects (CAO) auf Server Activated Objects (SAO) umstellenSoftware: Planen. Entwickeln. Testen.
  35. 35. Performancevergleich .NET Remoting vs. WCF • Client and Server are both placed on a single machine Server • The service in general: - contains one method that takes one argument and returns DataSet (the DataSet contains as many rows as method argument says) - DataSet contains 4 columns - ID (long), Name (string), Description (string) and CreatedOn (DateTime) • The .Net Remoting version of the service: - its a wellknown server activated object with SingleCall activation mode - the channel is TCP with binary serialization • The WCF version of the service: - it uses netTcpBinding Client • Invokes each of the service (WCF and Remoting) 100 times on a single thread (sequential invocation in a loop) • Passes to the service number of rows to generate in the DataSet (1, 100 and 200) • I measured creation of the service proxy, method invocation and proxy close (with WCF service)Software: Planen. Entwickeln. Testen.
  36. 36. Zukunft von WCF• Microsoft entwickelt leistungsfähigen Applikationsserver für verteilte .NET Anwendungen – Windows Server Codename DUBLIN – .NET Framework 4.0• WCF und WF sind zentrale Konzepte davon• Verfügbar: In den nächsten JahrenSoftware: Planen. Entwickeln. Testen.
  37. 37. Ende Danke für die Aufmerksamkeit!Software: Planen. Entwickeln. Testen.

×