Download presentation
Presentation is loading. Please wait.
Published byBlake Tyler Modified over 8 years ago
1
DEV384 COM+ Lives : New Features in Enterprise Services Included in Windows Server 2003 Catherine Heller Senior Consultant Microsoft Spain
2
Session Pre-requisites COM+ 1.0 – Component Services Applications Activation Contexts Interception.NET Framework Attributes
3
Agenda COM+ 1.5 / Enterprise Services Process Model Enhancements Manageability Features Programming Model Features
4
COM+ 1.5 Isn’t COM dead?! COM+ is not a “better COM” COM+ is the core of app server services in Windows Server 2003 Set of services for scalable, reliable, secure applications General purpose infrastructure for component-based server applications Let’s clear things up...
5
COM+ 1.5 / Enterprise Services Terminology “COM+ 1.5” Unmanaged programming model “System.EnterpriseServices” Managed programming model “Windows Enterprise Services” Two programming models One integrated set of operating system services Windows XP and Windows Server 2003
6
Agenda COM+ 1.5 / Enterprise Services Process Model Enhancements Manageability Features Programming Model Features
7
Process Model Enhancements Application Pooling Application Recycling Applications as Windows Services Applications as Web Services Low-Memory Activation Gates
8
Process Model Enhancements Application Pooling Application serviced by simultaneous Dllhost.exe processes Requires Server Application Configurable per-Application (default = 1) Scalability improvement Legacy components Availability improvement
9
Server Application Applikations- Instanz ClientClient Proxy Pooling: One Application, Many Instances Increased Fault Tolerance Increased Fault Tolerance Automatic Distribution Automatic Distribution Application Instance Process Model Enhancements Application Pooling © 2003 newtelligence AG, http://www.newtelligence.com. http://www.newtelligence.com
10
Process Model Enhancements Application Recycling Controlled Application recycling Based on specified criteria Lifetime Memory limit Number of calls Number of activations Requires Server Application Availability improvement
11
Server Application Application Instance ClientClient Proxy Recycling: Automatic Restart/Replacement of Instances Increases Error Tolerance, Stability Increases Error Tolerance, Stability Criteria: Time, Memory Consumption, Activations, Calls Criteria: Time, Memory Consumption, Activations, Calls Application Instance Process Model Enhancements Application Recycling © 2003 newtelligence AG, http://www.newtelligence.com. http://www.newtelligence.com
12
Process Model Enhancements Applications as Windows Services Allows Application launch at boot time (“Run as NT Service”) Requires Server Application Flexible identity Local Service Network Service Local System
13
Process Model Enhancements Applications as Web Services Application components accessible via SOAP Requires Server Application Exposed via System.EnterpriseServices ApplicationActivationAttribute.SoapVRoot Uses.NET Remoting Requires.NET Framework on server RPC/Encoded only No WS-Security Can be used to expose native components as Web Services
14
Process Model Enhancements Low-Memory Activation Gates Prevents activation under low-memory conditions Based on % of virtual memory available Component activation and/or loading of Dllhost.exe Returns OutOfMemoryException “Always on” Allows more graceful handling of out-of- memory situations
15
Application Pooling & Recycling demo demo
16
Agenda COM+ 1.5 / Enterprise Services Process Model Enhancements Manageability Features Programming Model Features
17
Manageability Features Enable/Disable Pause/Resume Component Configuration Component Aliasing Legacy Folder Process Dumps
18
Manageability Features Enable/Disable Prevents activation requests Server and Library Applications Components Allows controlled update and configuration Survives reboot
19
Server Application Application Instance ClientClient Proxy Deactivate: Permanently Stops Activation Longer maintenance/reconfiguration work Longer maintenance/reconfiguration work Continues though a System Reboot Continues though a System Reboot Existing Instances Run to CompletionExisting Instances Run to Completion Manageability Features Enable/Disable © 2003 newtelligence AG, http://www.newtelligence.com. http://www.newtelligence.com
20
Manageability Features Pause/Resume Prevents new activation requests and method calls on existing objects Specified per Application Instance (Running Processes folder) Server Applications only Provides stable process state Process troubleshooting
21
Server Application ClientClient Proxy Pause: Temporarily Stop Activation Maintenance, Quick Configuration Changes Maintenance, Quick Configuration Changes Prevents Creation of New Instances Prevents Creation of New Instances Methods Flow to Existing Instances Methods Flow to Existing Instances Application Instance Manageability Features Pause/Resume © 2003 newtelligence AG, http://www.newtelligence.com. http://www.newtelligence.com
22
Manageability Features Component Configuration Component Aliasing Allows multiple configurations for a single binary image Legacy Folder Allows non-configured components to be included in deployment package Can be promoted and disabled
23
Manageability Features Process Dumps Create dump of running Dllhost.exe process No installation of external utilities required Non-invasive dump Process lifetime not affected Typically used for diagnosing system hangs Invasive dump Dumps process before terminating due to Failfast
24
Manageability Features demo demo
25
Agenda COM+ 1.5 / Enterprise Services Process Model Enhancements Manageability Features Programming Model Features
26
Configurable Isolation Levels Process Initialization Private Components Services Without Components
27
Programming Model Features Configurable Isolation Levels COM+ 1.0 default is Serializable New TransactionAttribute.Isolation property, TransactionIsolationLevel enum Root component determines isolation level Scalability improvement Trade-off: data consistency vs. concurrency [Transaction(Transaction.Required, Isolation=TransactionIsolationLevel.ReadCommitted)] Isolation=TransactionIsolationLevel.ReadCommitted)] public class MyTxComponent : ServicedComponent [Transaction(Transaction.Required, Isolation=TransactionIsolationLevel.ReadCommitted)] Isolation=TransactionIsolationLevel.ReadCommitted)] public class MyTxComponent : ServicedComponent
28
Programming Model Features Process Initialization Components can provide initialization / termination code Server Application only No access to context info IProcessInitializer interface public class ProcessInitializationClass : ServicedComponent, IProcessInitializer ServicedComponent, IProcessInitializer{ public void Startup(object ProcInitControl) {... } public void Startup(object ProcInitControl) {... } public void Shutdown( ) {... } public void Shutdown( ) {... }} public class ProcessInitializationClass : ServicedComponent, IProcessInitializer ServicedComponent, IProcessInitializer{ public void Startup(object ProcInitControl) {... } public void Startup(object ProcInitControl) {... } public void Shutdown( ) {... } public void Shutdown( ) {... }}
29
Programming Model Features Private Components Activation only from within same Application PrivateComponentAttribute CSE Activation tab: “Mark component private to application” Have access to all Services Great for private helper components [PrivateComponent] public class MyPrivateComponent : ServicedComponent <PrivateComponent> Public Class MyPrivateComponent Inherits ServicedComponent [PrivateComponent] public class MyPrivateComponent : ServicedComponent <PrivateComponent> Public Class MyPrivateComponent Inherits ServicedComponent
30
Programming Model Features Services Without Components Context explicitly initialized and entered/exited by code No ServicedComponent required No component registration Inline or batch mode Most useful for transactions ServiceConfig cfg = new ServiceConfig( ); cfg.Transaction = TransactionOption.Required; ServiceDomain.Enter(cfg); // Do some work ServiceDomain.Leave(cfg); ServiceConfig cfg = new ServiceConfig( ); cfg.Transaction = TransactionOption.Required; ServiceDomain.Enter(cfg); // Do some work ServiceDomain.Leave(cfg);
31
Programming Model Features demo demo
32
And Don’t Forget.... Existing Windows Enterprise Services Automatic Transactions Just-in-Time Activation Object Construction Synchronization Fixed Process Identity Role-Based Security Object Pooling Loosely-Coupled Events Queued Components BYOT and CRM
33
Summary Windows Enterprise Services Set of operating system services System.Enterprise Services programming model Enhanced process model New manageability features New programming model features
34
Ask The Experts Get Your Questions Answered Thursday, 3 July 11:30-13:30
35
Community Resources http://www.microsoft.com/communities/default.mspx Most Valuable Professional (MVP) http://www.mvp.support.microsoft.com/ Newsgroups Converse online with Microsoft Newsgroups, including Worldwide http://www.microsoft.com/communities/newsgroups/default.mspx User Groups Meet and learn with your peers http://www.microsoft.com/communities/usergroups/default.mspx
36
evaluations evaluations
37
© 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Portions of the content of this presentation are © 2003 newtelligence AG, http://www.newtelligence.com. http://www.newtelligence.com
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.