Enterprise Component Services in Windows Options

davegate Posts: 182 Points: 894
Posted: Saturday, January 16, 2016 11:52:51 AM

The Enterprise Component Services in Windows provides these additional services:

Object pooling – Typically useful in server-based systems where a single type of component is used by multiple concurrent clients, Enterprise Component Services can maintain a pool of object instances for use by clients. This can raise performance and throughput by eliminating redundant object instantiation costs, and can also provide a way to constrain and control the resource consumption of a given type of component, by providing a way to limit the upper-bound of the number of objects to instantiate.

Just-in-time Activation – The Just-in-Time (JIT) Activation service allows server resources to be used more efficiently under load. When a component is configured for JIT Activation, the Enterprise Services container can deactivate an instance of the component while a client still holds an active reference to it. The container may do this to free up resources for other components or services when the system is under load. The next time the client calls a method on the object, Windows reactivates the object transparently to the client, just in time. This balancing act enables more efficient use of resources.

Queued Invocation – The Queued Invocation capability within Enterprise Services combines the familiar component-oriented programming model with asynchronous queue-based message delivery. It enables an application to invoke methods on components asynchronously, without needing to wait for a response. This is sometimes referred to as “fire and forget." In fact, the component being invoked may be remote, and need not even be running at the time the method is invoked. Queued Components automatically serializes and queues the message for delivery. As might be expected, Queued Components builds upon MSMQ to provide this capability.

Transactions – Automatic transaction processing allows developers to configure a class at design time to participate in a transaction at run time. Any operations the class performs on transactional resource managers are managed as part of one logical unit of work, with all-or-nothing commit/abort semantics.

Compensating Resource Managers – Enterprise Services provides a toolkit that allows developers to wrap transactional semantics around non-transactional resources. Suppose an application needs to read from a transactional message queue, and write to a non-transactional event log, as one logical unit of work. The CRM feature in Enterprise Services enables this, through a simple programmatic interface.

Role-Based Security-Enhanced Access Control – This service allows developers to apply declarative, role-based, and authorization enforcement on classes or methods. This is a simple way for developers to employ security-enhanced access control to particular methods in an application.


davegate Posts: 182 Points: 894
Posted: Saturday, January 16, 2016 11:54:50 AM

Before the .NET Framework was introduced, and before the term Enterprise Component Services was coined, Microsoft used the term COM+ to refer to:

  1. the set of extended component services, 
  2. the hosting container that provides those services,
  3. the programming interfaces to access those services.

The new name, Enterprise Services, was adopted to indicate that these services are available not just for COM components, but also for application components written in .NET languages.


davegate Posts: 182 Points: 894
Posted: Saturday, January 16, 2016 12:01:29 PM

The Component Services administrative tool in the Windows divides the component services (COM+) management into a hierarchical structure with a treeview on the left and listview on the right. The treeview creates a simple hierarchy of computers, applications, and components.

  • Opening the Component Services node reveals the Computers folder, which allows access to servers running COM+ components.
  • Opening a computer node reveals the COM+ Applications folder, which groups components into a logical package.
  • Opening a COM+ application node reveals the Components folders, which allows access to the enterprise component services( COM+) features for any component.

The difference between server applications and library applications is that a COM+ library application is one that runs in the process of the client that creates it, whereas a COM+ server application runs in the process space of the COM+ executable (dllhost.exe).

A COM+ application consista of one or more COM components. A COM class is a named, concrete implementation of one or more interfaces. The class exposes its interfaces, which provide a set of related functions called methods. A COM object is an instance of a COM class. A COM component is a binary unit of code that creates COM objects (which includes packaging and registration code).

A COM class is identified by a CLSID (sometimes a ProgID, too). An interface is a group of related functions that specifies a contract. This includes the name, interface signature, interface semantics, and marshaling buffer format.


davegate Posts: 182 Points: 894
Posted: Saturday, January 16, 2016 12:03:17 PM

MTS stands for Microsoft Transaction Server,it was a seperate product that provide the abstracted access to operating system services like threads management, transaction management, database connection management etc. Using MTS, developers no longer had to create their own infrastracture code to manage threads, memory, and database connection, instead, they were freed to concerntrate on the business problems and simply use the services provided by MTS.

COM+ is the next evolutionary step for business application developers. COM+ provides the same abstracted access to operating system services introducted by MTS, but completely integrates these features with the operating system itself, that means COM+ is an integral part of the operating system.

Users browsing this topic
Guest