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

Slides:



Advertisements
Ähnliche Präsentationen
Be.as WEB Technologie
Advertisements

Workspace Management für Windows
Stefan Kurz und Marius Podwyszynski
Was gibt´s neues im Bereich Sicherheit
Sichere Anbindung kleiner Netze ans Internet
Deklarative Programmierung mit Attributen
Zusammenarbeit in Office mit den SharePoint Technologien Michael Carpi
SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
Design- und Entwicklungswerkzeuge
Web-Entwicklung mit ASP.NET 2.0 und Visual Studio 2005 Uwe Baumann Marketing Manager Developer Tools Microsoft Deutschland GmbH Oliver Scheer Developer.
SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
.NET Remoting und XML Web Services. Ralf Westphal
Systemverwaltung wie es Ihnen gefällt.
Basis-Architekturen für Web-Anwendungen
Was ist J2EE Die Vorteile von J2EE J2EE Modell Die Komponente von J2EE
SOAP Simple Object Access Protocol
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Datenbankzugriff im WWW (Kommerzielle Systeme)
NATURAL Web-Integration 1 / 27/28-Feb-98 TST NATURAL Web-Integration Arbeitskreis NATURAL Süd Theo Straeten SAG Systemhaus GmbH Technologieberater Stuttgart.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Kommunikation in verteilten Systemen (Middleware)
XML in Client-Server und GRID Architektur
Introducing the .NET Framework
Mono und andere freie.NET Implementierungen. Implementierungen Microsoft.NET Framework Win32, Win64? Microsoft.NET Compact Framework WinCE (Mobile, Phone)
Windows Vista Felix Lutz 14. August 2007.
Uwe Habermann Venelina Jordanova dFPUG – Silverlight Wizard.
M A P K I T Management eines J2EE basierten eCommerce Systems am Beispiel des ATG Dynamo Applikationsservers und BMC Patrol als Managementframework.
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 10 Die erste, eigene Klassenbibliothek (Level 100) Presenter: Daniel Walzenbach Technologieberater.
Björn Schmidt, Hoang Truong Nguyen
Entwicklung verteilter eingebetteter Systeme - Einführung
1 Softwareentwicklung mit.NET Teil 6.NET Remoting Dr. Ralph Zeller.
Distributed Programming in.NET. Inhaltsverzeichnis 1) Einführung 2).NET Remoting 3) Web-Services 4) Vergleich.NET Remoting und Web- Services 5) Fazit.
Die .NET Common Language Runtime
Web Services Die Zukunft netzbasierter Applikationen iternum GmbH Alexanderstraße Frankfurt/Main
HOB RD VPN HOB Remote Desktop Virtual Private Network
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
Best Practices in der Datenbank-programmierung
EJB-Applikationsserver
Grundlagen vernetzt-kooperativer Planungsprozesse für Komplettbau mit Stahlbau, Holzbau, Metallbau und Glasbau Projekt im DFG-SPP 1103 Bergische Universität.
1 Teil 2 Einblicke in Exchange 2003 (Basis Beta 2)
SQL Server 2005 CLR-Integration
Präsentation von Sonja Pathe
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Claudia Fischer Licensing Marketing Manager Jochen Katz Product Manager – Windows Server Anna Fetzer Product Manager – System Center.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
Beschreiben Sie das Szenario wenn ein ORB einen Server aktiviert und eine Objektimplementation aufruft. Activate Server impl_is_ready Activate Object (GetID.
… und was man damit machen kann.
Präsentation von Lukas Sulzer
Java Server Pages Sergej Keterling
Management- und Web Services- Architekturen
MTS Microsoft Transaction Server Martin Basziszta
Einführung in Web Services Web Services in der Praxis
[Sprecher/Autor] [Titel] [Organisation][Kontaktinfos] Windows Azure Windows Azure SQL Databases.
Projekt Pokémon (CSL) Evaluation Technologien / Entwicklungsumgebungen Schlusspräsentation, Philip Iezzi, BDLI 2.
Real World Windows Azure Die Cloud richtig nutzen.
Die AppDomain Das unbekannte Wesen?
Parallele Programmierung im.NET Framework Darmstadt, Präsentation am Beispiel von C-Sharp (C#)  Wichtige Grundlagen  Generika, Delegate, Lambda,
Universität Bonn, Seminar Component and Aspect Engineering, WS2003, Patrick Schriner 1 COM+ und MTS Patrick Schriner.
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
Schutzvermerk nach DIN 34 beachten Was ist DCOM ?.
J2EE-Motivation(I) Anforderungen an heutige Software u.a.:
Sicherheitsaspekte in Service Orientierten Architekturen Eike Falkenberg Sommersemester 2006 Anwendungen I.
ORB – Konzepte Ist – Analyse der betrieblichen Notwendigkeiten, Anforderungsableitung an moderne Lösungskonzepte, alternative ORB – Konzepte mit Zukunft,
Workflowsysteme und Datenbanksysteme Gliederung Motivation Basis- funktionalitäten Klassifikations- merkmale Referenz-Modell MQ Workflow Zusammenfassung.
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
Google App Engine - Technische Stärken und Schwächen
Generierung von Berichten mit Oracle Reports Server 10g
 Präsentation transkript:

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

Clemens Vasters Technischer Vorstand newtelligence AG

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

COM+ 1.5 Enterprise Services Applikationsservertechnologie in Windows Server 2003

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

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

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

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

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

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

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

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

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

Prozessgrenzen sind sicherer BrowserBrowser ASP.NETASP.NET Enterprise Services Applikation SQL Server Anonym Network- Service Service Konto RFC2617 Auth Windows SSPI ADO.NET ComponentComponent ComponentComponent ComponentComponent ComponentComponent ComponentComponent ComponentComponent Serviced Component Identität: DOMAENE/Konto ACL PrincipalPermission Rollen Rollen Gruppen Integrated Security=SSPI

Dienste ohne Komponenten Service Domains Service Domains Erzeugen von Kontexten inline Erzeugen von Kontexten inline Einfach innerhalb eines Codeblocks Einfach innerhalb eines Codeblocks Keine Komponentenregistrierung Keine Komponentenregistrierung Am Nützlichsten für Transaktionen 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 System.Messaging – Daten aus MSMQ holen System.Data.SqlClient – in SQL speichernServiceDomain.Leave(Cfg) 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 System.Messaging – Daten aus MSMQ holen System.Data.SqlClient – in SQL speichernServiceDomain.Leave(Cfg)

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

Enterprise Services System.EnterpriseServices

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

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

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

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

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

[InterfaceQueuing] Server Applikation ClientClient Proxy Dim comp As SampleComp comp = Marshal.BindToMoniker(queue:new:progid) comp.MakeCall() Dim comp As SampleComp comp = Marshal.BindToMoniker(queue:new:progid) comp.MakeCall() RPC Msg Anwendungsszenarien Asynchrone Entkopplung Asynchrone Entkopplung Skalierbarkeit! Skalierbarkeit! Skalierbarkeit!! Skalierbarkeit!! Skalierbarkeit!!! Skalierbarkeit!!!Einschränkungen Keine Rückgabewerte Keine Rückgabewerte Keine Ausgabewerte Keine AusgabewerteAnwendungsszenarien Asynchrone Entkopplung Asynchrone Entkopplung Skalierbarkeit! Skalierbarkeit! Skalierbarkeit!! Skalierbarkeit!! Skalierbarkeit!!! Skalierbarkeit!!!Einschränkungen Keine Rückgabewerte Keine Rückgabewerte Keine Ausgabewerte Keine Ausgabewerte

[EventClass] Server Applikation ClientClient Proxy Dim comp As New SampleComp comp.MakeCall() comp.MakeCall() ApplikationApplikation Publisher ApplikationApplikation Anwendungsszenarien Benachrichtigungen Benachrichtigungen Erweiterungspunkte Erweiterungspunkte Subsystemkopplung SubsystemkopplungKombinationsmöglichkeiten Transaktionen Transaktionen Queuing QueuingAnwendungsszenarien Benachrichtigungen Benachrichtigungen Erweiterungspunkte Erweiterungspunkte Subsystemkopplung SubsystemkopplungKombinationsmöglichkeiten Transaktionen Transaktionen Queuing Queuing Subscriber

[Transaction] Server Applikation ClientClient Proxy Dim comp As New SampleComp comp.MakeCall() comp.MakeCall() ApplikationApplikation SQL MQ DB2 DTCDTC Enlist bei DTC Data Providers entnehmen Tx aus Kontext Tx-Kontext wird propagiert Anwendungsszenario Verteiltes Fehlermanagement Verteiltes FehlermanagementAnwendungsszenario

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

Fragen und Antworten

Weitere Informationen TimEwald, Transactional COM+, Addison Wesley, ISBN TimEwald, Transactional COM+, Addison Wesley, ISBN Philip A. Bernstein, Eric Newcomer, Principles of Transaction Processing, Morgan Kaufman, ISBN Philip A. Bernstein, Eric Newcomer, Principles of Transaction Processing, Morgan Kaufman, ISBN Clemens Vasters,.NET Enterprise Services, Hanser, ISBN Clemens Vasters,.NET Enterprise Services, Hanser, ISBN Don Box, Chris Sells, Essential.NET, Addison Wesley, ISBN Don Box, Chris Sells, Essential.NET, Addison Wesley, ISBN Juval Löwy, COM and.NET Component Services, OReilly, ISBN Juval Löwy, COM and.NET Component Services, OReilly, ISBN

Ihr Potenzial. Unser Antrieb.