This chapter covers the following Microsoft-specified objective for the "Creating and Managing Microsoft Windows Services, Service Components, .NET Remoting Objects, and XML Web Services" section of the "Developing XML Web Services and Server Components with Microsoft Visual Basic .NET and the Microsoft .NET Framework" exam:
Create and consume a serviced component.
Implement a serviced component.
Create interfaces that are visible to COM .
Create a strongly named assembly.
Register the component in the global assembly cache.
Manage the component by using the Component Services tool.
COM+ is a part of the Windows operating system that provides various infrastructure-level services to interested applications. These services include automatic transaction management, object pooling, just-in-time activation, and component queuing.
.NET components that make use of COM+ component services are called serviced components . This exam objective tests your skills on creating and consuming serviced components. Although not explicitly mentioned in the objective list, you should be ready to answer questions on specific COM+ services. You need to know about COM+ to effectively use serviced components.
To use COM+ services, a serviced component must be registered with COM+. One of the requirements for the registration is that the assembly containing the component must be signed with a strong name. A strong name uniquely identifies the components in an assembly and avoids any identity clash with other components.
One of the best ways to deploy a component that uses COM+ services is the global assembly cache. The exam objective also requires you to know how to deploy a component to the global assembly cache.
Windows provides a Component Services administrative tool. System administrators can use this tool to configure serviced components at runtime. However, a serviced component's methods are not visible to this tool unless the component exposes the required interfaces. The exam objectives require you to know how to expose these interfaces and of course how to configure a component using the component services administrative tool.
Evolution of Component Services
Component Object Model (COM)
Microsoft Transaction Server (MTS)
COM+ 1.0 and COM+ 1.5
COM+ 2.0 (The .NET Framework)
Exposing .NET Components to COM /COM+
Calling a .NET Component from COM/COM+
Exporting .NET Components As COM Type Libraries
Architecture of Component Services
Declarative Programming Model
Serviced Component Activation
Creating and Consuming a Serviced Component
Creating a Serviced Component
Creating a Strongly Named Assembly
Registering the Serviced Component in the COM+ Catalog
Managing Components Using the Component Services Administrative Tool
Creating Interfaces That Are Visible to COM
The ClassInterface Attribute
Versioning Problems and the ClassInterface Attribute
The InterfaceType Attribute
Installing the Component in the Global Assembly Cache
Consuming a Serviced Component
Understanding and Using Enterprise Services
Configuring a Serviced Component to Use the Object Pooling Service
How Object Pooling Works
Creating an Object-Pooled Serviced Component
Using an Object-Pooled Serviced Component
Monitoring Statistics of a Serviced Component
How Just-In-Time Activation Works
Using Just-In-Time Activation with Object Pooling ‚ A Recipe for High Throughput
Design Considerations for Using Just-In-Time Activation and Object Pooling
Creating a JIT-Activated Object-Pooled Serviced Component
Using a JIT-Activated Object-Pooled Serviced Component
Automatic Transaction Processing
Using Automatic Transaction Service for Local Transactions
Elements of Transaction Processing
How the Automatic Transaction Service Works
Using the Automatic Transaction Service for Distributed Transactions
How Queued Components Work
Creating a Queued Component
Creating a Client for a Queued Component
Apply Your Knowledge
S TUDY S TRATEGIES
Understand the basic functions of component services. Understand the reasons why you would implement some applications as Serviced Components.
Know how to create a serviced component and then register the component in the COM+ catalog.
Know how to use the .NET Framework Services Installation Tool (regsvcs.exe) to configure the behavior of a serviced component.
Use various COM+ services such as automatic transactions, just-in-time activation, and object pooling in your programs.
Know how to create interfaces in such a way that the methods of a serviced component are visible to COM.