Building MTS Applications
Defining Your Business Problem
Defining Application Logic
Designing and Implementing Component and Package Logic
Deciding Where You Want To Use Transactions
Database Configuration
Design Component Functionality
Developing Components
Debugging Components
Deploying Applications
Distributing Applications
MTS Overview and Concepts
How Does Microsoft Transaction Server Work?
Application Components
Transaction Server Executive
Server Processes
Resource Managers
Resource Dispensers
Microsoft Distributed Transaction Coordinator
Microsoft Transaction Server Explorer
MTS Programming Concepts
Transaction Server Components
Transaction Server Component Requirements
Transactions
Transaction Attributes
Transaction Server Objects
Context Objects
Creating Transaction Server Objects
Passing Object References
Deactivating Objects
Object Pooling and Recycling
Transaction Server Clients
Base Clients
Base Clients vs. Transaction Server Components
Activities
Components and Threading
Programmatic Security
Basic Security Methods
Advanced Security Methods
Error Handling
Developing Applications for Microsoft Transaction Server with Visual Basic
Creating a Simple ActiveX Component
Scenario: Creating and Using a Simple ActiveX Component
Creating the Account Component
Creating the Bank Package
Installing the Account Component
Running and Monitoring the Account Component
Modifying the Account Component to Call the ODBC Resource Dispenser
Application Design Notes: Sharing Resources
Building Scalable Components
Scenario: Adding Just-In-Time Activation to the Account Component
Adding the Code to Call GetObjectContext, SetComplete, and SetAbort
Application Design Notes: Just-In-Time Activation
Building Transactional Components
Scenario: Composing Work From Multiple Components Under the Same Transaction
Creating the MoveMoney Component
Monitoring Transaction Statistics
Application Design Notes: Using Context and Transactions
Sharing State
Scenario: A Receipt Number Generator That Uses the Shared Property Manager
Creating the Receipt Component
Application Design Notes: Sharing State By Using the Shared Property Manager
Stateful Components
Scenario: Holding State in the MoveMoney Component
Adding a New Method to the MoveMoney Component
Application Design Notes: The Trade-offs of Using Stateful Objects
Multiple Transactions
Scenario: Storing Receipt Numbers in a Database
Creating the UpdateReceipt Component
Application Design Notes: Using Separate Transactions
Secured Components
Scenario: Adding Role Checking to the MoveMoney and Account Components
Using IsCallerInRole in the MoveMoney and Account Components
Application Design Notes: Using Roles
MTS Administrative Reference
Scriptable Administration Using Visual Basic
Administrative Scriptable Objects
Catalog
CatalogObject
CatalogCollection
PackageUtil
ComponentUtil
RemoteComponentUtil
RoleAssociationUtil
Collection Types
Packages
ComponentsInPackage
RemoteComponents
InterfacesForComponent and InterfacesForRemoteComponent
RolesForPackageComponent and RolesForPackageComponentInterface
MethodsForInterface
RolesInPackage
UsersInRole
ErrorInfo
PropertyInfo
RelatedCollectionInfo
Visual Basic Error Codes
Scriptable Object Methods
Add Method (CatalogCollection)
AddEnabled Property (CatalogCollection)
AssociateRole Method (RoleAssociationUtil)
AssociateRoleByName Method (RoleAssociationUtil)
Connect Method (Catalog)
Count Property (CatalogCollection)
DataStoreMajorVersion Property (CatalogCollection)
DataStoreMinorVersion Property (CatalogCollection)
ExportPackage Method (PackageUtil)
GetCollection Method (Catalog)
GetCollection Method (CatalogCollection)
GetUtilInterface Method (CatalogCollection)
ImportComponent Method (ComponentUtil)
ImportComponentByName Method (ComponentUtil)
InstallComponent Method (ComponentUtil)
InstallPackage Method (PackageUtil)
InstallRemoteComponent Method (RemoteComponentUtil)
InstallRemoteComponentByName Method (RemoteComponentUtil)
IsPropertyReadOnly Property (CatalogObject)
IsPropertyWriteOnly Property (CatalogObject)
Item Property (CatalogCollection)
Key Property (CatalogObject)
MajorVersion Property (Catalog)
MinorVersion Property (Catalog)
Name Property (CatalogObject)
Name Property (CatalogCollection)
Populate Method (CatalogCollection)
Remove Method (CatalogCollection)
RemoveEnabled Property (CatalogCollection)
SaveChanges Method (CatalogCollection)
Valid Property (CatalogObject)
Value Property (CatalogObject)
Scriptable Administration Using Visual C++
Visual C++ Error Codes
ICatalog Interface
ICatalog::GetCollection
ICatalog::Connect
ICatalog::get_MajorVersion
ICatalog::get_MinorVersion
ICatalogCollection Interface
ICatalogCollection::get_NewEnum
ICatalogCollection::get_Item
ICatalogCollection::get_Count
ICatalogCollection::Add
ICatalogCollection::Populate
ICatalogCollection::SaveChanges
ICatalogCollection::GetCollection
ICatalogCollection::get_Name
ICatalogCollection::get_AddEnabled
ICatalogCollection::Remove
ICatalogCollection::get_RemoveEnabled
ICatalogCollection::GetUtilInterface
ICatalogCollection::get_DataStoreMajorVersion
ICatalogCollection::get_DataStoreMinorVersion
ICatalogObject Interface
ICatalogObject::get_Value
ICatalogObject::put_Value
ICatalogObject::get_Key
ICatalogObject::get_Name
ICatalogObject::IsPropertyReadOnly
ICatalogObject::IsPropertyWriteOnly
ICatalogObject::get_Valid
IPackageUtil Interface
IPackageUtil::InstallPackage
IPackageUtil::ExportPackage
IComponentUtil Interface
IComponentUtil::InstallComponent
IComponentUtil::ImportComponent
IComponentUtil::ImportComponentByName
IRemoteComponentUtil Interface
IRemoteComponentUtil::InstallRemoteComponent
IRemoteComponentUtil::InstallRemoteComponentByName
IRoleAssociationUtil Interface
IRoleAssociationUtil::AssociateRole
IRoleAssociationUtil::AssociateRoleByName
MTS Reference
Visual Basic
GetObjectContext Function
SafeRef Function
ObjectContext Object
CreateInstance
DisableCommit
EnableCommit
IsCallerInRole
IsInTransaction
IsSecurityEnabled
SetAbort
SetComplete
ObjectControl Object
Activate
CanBePooled
Deactivate
SharedProperty Object
Value
SharedPropertyGroup Object
CreateProperty
CreatePropertyByPosition
Property
PropertyByPosition
SharedPropertyGroupManager Object
CreatePropertyGroup
Group
TransactionContext Object
Abort
Commit
CreateInstance
Visual C++
GetObjectContext Function
SafeRef Function
IObjectContext Interface
CreateInstance
DisableCommit
EnableCommit
IsCallerInRole
IsInTransaction
IsSecurityEnabled
SetAbort
SetComplete
IObjectControl Interface
Activate
CanBePooled
Deactivate
ISecurityProperty Interface
GetDirectCallerSID
GetDirectCreatorSID
GetOriginalCallerSID
GetOriginalCreatorSID
ReleaseSID
ISharedProperty Interface
put_Value
get_Value
ISharedPropertyGroup Interface
CreateProperty
CreatePropertyByPosition
get_Property
get_PropertyByPosition
ISharedPropertyGroupManager Interface
CreatePropertyGroup
get_Group
get__NewEnum
ITransactionContextEx Interface
Abort
Commit
CreateInstance
Visual J++
MTx.GetObjectContext Method
MTx.SafeRef Method
IObjectContext Interface
CreateInstance
DisableCommit
EnableCommit
IsCallerInRole
IsInTransaction
IsSecurityEnabled
SetAbort
SetComplete
IObjectControl Interface
Activate
CanBePooled
Deactivate
ISharedProperty Interface
putValue
getValue
ISharedPropertyGroup Interface
CreateProperty
CreatePropertyByPosition
getProperty
getPropertyByPosition
ISharedPropertyGroupManager Interface
CreatePropertyGroup
getGroup
get_NewEnum
ITransactionContextEx Interface
Abort
Commit
CreateInstance
Microsoft Transaction Server Error Codes
Microsoft Transaction Server Supported Variant Types