1 / 29

Enterprise Services und COM+ 1.5 Die Applikationsserver-Infrastruktur in Windows Server 2003

Enterprise Services und COM+ 1.5 Die Applikationsserver-Infrastruktur in Windows Server 2003. Enterprise Services und COM+ 1.5 Die Applikationsserver-Infrastruktur in Windows Server 2003. Clemens Vasters Technischer Vorstand newtelligence AG clemensv@newtelligence.com. Dieser Vortrag ….

ilya
Download Presentation

Enterprise Services und COM+ 1.5 Die Applikationsserver-Infrastruktur in Windows Server 2003

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Enterprise Services und COM+ 1.5 Die Applikationsserver-Infrastrukturin Windows Server 2003

  2. Enterprise Services und COM+ 1.5Die Applikationsserver-Infrastruktur in Windows Server 2003 Clemens Vasters Technischer Vorstand newtelligence AG clemensv@newtelligence.com

  3. Dieser Vortrag … • COM+ 1.5 / Enterprise Services • Windows Server 2003 • Das neue Prozessmodell • “Dienste ohne Komponenten” • Web Services • System.EnterpriseServices • Ein neues Programmiermodell für Services • Mythen und Fakten • Anwendungsfälle für Enterprise Services

  4. COM+ 1.5Enterprise Services Applikationsservertechnologie in Windows Server 2003

  5. COM+ 1.5 • “Moment mal, das ist doch Technologie aus dem letzten Jahrhundert! Don Box hat gesagt, COM ist tot?!” • COM+ ist kein “besseres COM”. COM+ ist ein Satz von Diensten für skalierbare, robuste und sichere Anwendungen. • COM+ ist eine allgemeine Infrastruktur für komponentenbasierte Serveranwendungen • COM+ ist der Kern der Applikations-serverdienste der Windows Server 2003 Plattform.

  6. COM+ 1.5 / Enterprise Services • “COM+ 1.5” • Name für das COM Programmiermodell • “System.EnterpriseServices” • Name für das Framework Programmiermodell • Zwei Programmiermodelle; ein integrierter Satz von Betriebssystemdiensten • “Windows Enterprise Services”

  7. Das Prozessmodell: Pooling Server Applikation Client Applikations-Instanz Applikations-Instanz Applikations-Instanz Applikations-Instanz Proxy • Pooling:Eine Applikation, mehrerer Instanzen • Erhöhung der Fehlertoleranz • Automatische Verteilung

  8. Das Prozessmodell: Pausieren Server Applikation Client Applikations-Instanz Proxy • Pausieren:Temporäres Anhalten von Instanzen • Wartung, kurze Konfigurationsänderungen • Unterbindet neue Aktivierungen • Aktive Objekte werden weiterhin bedient

  9. Das Prozessmodell: Deaktivieren Server Applikation Client Applikations-Instanz Proxy • Deaktivieren:Permanentes Anhalten von Applikationen • Längere Wartungsarbeiten • Gültig auch nach Systemneustart • Applikation bedient restliche aktive Objekte

  10. Das Prozessmodell: Recycling Server Applikation Client Applikations-Instanz Applikations-Instanz Proxy • Recycling:Automatischer Neustart/Ersatz von Instanzen • Erhöhung der Fehlertoleranz, Stabilität • Kriterien: Zeit, Speicherverbrauch, Aktivierungen, Aufrufe

  11. Mehr Prozessmodell … • Dynamischer Threadpool für “MTA” • Free/Both Threaded C++ Komponenten • Alle Windows .NET Framework Komponenten • Threadpool für STA • 7-10 Threads/Prozessor für STA Komponenten • Visual Basic 6 oder Single Threaded C++ • Neu dokumentiertes API für Hosting • CoRegisterSurrogateEx() • Memory Activation Gates • Reduziert Risiko für “Out of memory”

  12. Noch mehr Prozessmodell … • Neue Katalogfunktionen • Starten/Anhalten von Instanzen • Pausieren/Deaktivieren von Applikationen • NT Services • Ausführen von Applikationen als Service • “LocalSystem” Identität möglich • Automatischer Spin-Up bei Systemstart • Fazit: • Robusteres, flexibleres Prozessmodell

  13. Der Wert des Prozessmodells • ASP.NET: “Kontrollierte Panik” • Priorität Nr. 1: “Responsiveness” • Threads, AppDomains, Prozesse werden “spontan” recycled, wenn notwendig • Exzellente Strategie für HTTP • Nicht so gut für Caching, Hintergrundthreads • Enterprise Services: “Stabilität” • Priorität Nr. 1: Verfügbarkeit • Prozesse werden kontrolliert recylcled • Langlebige Prozesse

  14. Anonym Network-Service ServiceKonto Prozessgrenzen sind sicherer Browser RFC2617 Auth ACL PrincipalPermission ASP.NET Windows SSPI Rollen Enterprise Services Applikation Identität:DOMAENE/Konto ServicedComponent ServicedComponent Component Component Component Component Component Component ADO.NET “Integrated Security=SSPI” Windows SSPI Rollen Gruppen SQL Server

  15. Dienste ohne Komponenten • “Service Domains” • Erzeugen von Kontexten “inline” • Einfach innerhalb eines Codeblocks • Keine Komponentenregistrierung • Am Nützlichsten für Transaktionen Dim ServiceConfig Cfg As New ServiceConfig Cfg.Transaction = TransactionOption.Required ServiceDomain.Enter(Cfg) ‘ System.Messaging – Daten aus MSMQ holen‘ System.Data.SqlClient – in SQL speichern ServiceDomain.Leave(Cfg)

  16. Web Services: Checkbox SOAP • Einfachster Weg, ES Anwendungen als Web Services bereitzustellen • Via NETFX/Remoting • Erfordert HTTPS in Standardwebsite • Pro: • Sehr einfach zu nutzen • “Administrator Feature” • Integration ohne Code • Contra: • Kein WS-Security • Nicht erweiterbar • Nur SOAP RPC Encoding

  17. Enterprise Services System.EnterpriseServices

  18. System.EnterpriseServices • Neues Programmiermodell für Services • Nicht nur ein Wrapper für COM Prog. Modell • Optimierungen besonders bei Transport • Integraler Bestandteil des Frameworks • Die Zukunft: • COM+  XML Enterprise Services (GXA) • Ziel: Programmiermodell bleibt stabil

  19. Mythen und Fakten • “EnterpriseServices benötigt COM/Interop” • So nicht richtig. EnterpriseServices marshallt Aufrufe durch binäres Remoting via DCOM Tunnel. • Ausnahmen: • Fkt.-Signaturen mit isomorphen Typen • Interop ist hier deutlich schneller • Aufrufe von Queued Components • “Das COM+ Modell ist überholt” • … sagen Sie das mal IBM, BEA oder Sun

  20. Aktivierung Erstellen von Proxy, Client-Kontext, RPC Channel, Server-Kontext, Objekt Methodenaufruf Client Server Applikation Proxy Dim comp As New SampleComp comp.MakeCall()

  21. [JustInTimeActivation] Erstellen von Proxy, Client-Kontext, RPC Channel, Server-Kontext, Objekt Methodenaufruf[AutoComplete] Anwendungsszenarien • Transaktionen (autom. verwendet) • Sicherstellung von Isolation (ACID) • Deterministische Freigabe von Ressourcen • Reduzierung des Aktivierungsaufwands Client Server Applikation Activate() Proxy Deactivate() Dim comp As New SampleComp comp.MakeCall() comp.MakeCall()

  22. [ObjectPooling] Erstellen von Proxy, Client-Kontext, RPC Channel, Server-Kontext, Objekt Methodenaufruf[AutoComplete] Anwendungsszenarien • Optimierung für “teure” Aktivierungen • Caches, externe Ressourcen • Optimierung zusammen mit JITA • Limitierung für beschränkte Ressourcen • Obergrenzen erlauben Serialisierung von Zugriffen Client Server Applikation Activate() Proxy Deactivate() CanBePooled() Dim comp As New SampleComp comp.MakeCall() comp.MakeCall()

  23. [InterfaceQueuing] Anwendungsszenarien • Asynchrone Entkopplung • Skalierbarkeit! • Skalierbarkeit!! • Skalierbarkeit!!! Einschränkungen • Keine Rückgabewerte • Keine Ausgabewerte Server Applikation Client Proxy RPCMsg RPCMsg RPCMsg RPCMsg RPCMsg Dim comp As SampleComp comp = Marshal.BindToMoniker(“queue:new:progid”) comp.MakeCall()

  24. [EventClass] “Publisher” Anwendungsszenarien • Benachrichtigungen • Erweiterungspunkte • Subsystemkopplung Kombinationsmöglichkeiten • Transaktionen • Queuing Client Server Applikation “Subscriber” Proxy Applikation Applikation Dim comp As New SampleComp comp.MakeCall()

  25. Data Providers entnehmen Tx aus Kontext [Transaction] SQL Anwendungsszenario • Verteiltes Fehlermanagement Client Server Applikation MQ Proxy “Enlist” bei DTC Applikation DTC Tx-Kontext wird propagiert Dim comp As New SampleComp comp.MakeCall() DB2

  26. Zusammenfassung • Enterprise Services • Dienste zur Implementierung häufig benötigter Lösungspatterns in Softwaresystemen • Dienste zur Optimierung des Laufzeitverhaltens und zur Erhöhung der Skalierbarkeit • Ein eigenständiges Prozessmodell für Komponenten • Kein “altes Eisen”, sondern ein strategisches Programmiermodell für Dienste in der Windows Plattform

  27. Fragen und Antworten

  28. Weitere Informationen • TimEwald, „Transactional COM+“, Addison Wesley, ISBN 0201615940 • Philip A. Bernstein, Eric Newcomer, “Principles of Transaction Processing”, Morgan Kaufman, ISBN 1558604154 • Clemens Vasters, “.NET Enterprise Services”, Hanser, ISBN 3446221530 • Don Box, Chris Sells, “Essential .NET”, Addison Wesley, ISBN 0201734117 • Juval Löwy, “COM and .NET Component Services”, O’Reilly, ISBN 0596001037

  29. Ihr Potenzial. Unser Antrieb.

More Related