# ComPlus

## Program ID

MetraPipeline.ComPlusPlugin.1

## Description

This plugin allows creation of COM+ objects ("Executants") within the pipeline's transaction.

Executants are only constructed for the duration of a transaction. Typically, COM+ starts a transaction when the root executant gets created and passes on the transaction to any nested executants created within the root executant. The ComPlusPlugin allows creation of a user defined root executant that will be constructed and enlisted in the pipeline's transaction for the duration of the processing of one session set.

The executants cannot keep state since they are destroyed after each method call. However the ComPlusPlugin calls a configure method on the executant from which the executant can return a configState object (of type Variant). The ComPlusPlugin holds on to that configState and passes it into every ProcessSessions call.

An executant must implement the IMTPipelineExecutant interface.

## Required Input Properties

Varies, depending on the input properties needed by the created exutant.

## Required Output Properties

Varies, depending on the output properties of the created executant.

## Additional Configuration Tags

Varies, depending on the tags needed by the created executant.

## Configuration Example

The following configuration is for a plug-in that creates an account and subscribe it to a product offering within the same transaction (it uses a sample executant called VBSubscribeExec):

<configdata>
<ExecutantProgid>VBSubscribeExec.Writer</ExecutantProgid>
<!-- Executant specific configuration data -->
<ExecutantConfigdata>
<_AccountID>_AccountID</_AccountID>
<ProductOfferingName>ProductOfferingName</ProductOfferingName>
<SubscriptionStartDateType>SubscriptionStartDateType</SubscriptionStartDateType>
<SubscriptionStartDate>SubscriptionStartDate</SubscriptionStartDate>
<SubscriptionID>SubscriptionID</SubscriptionID>
</ExecutantConfigdata>
</configdata>