AW: Managed COM+ components question....

[email protected] Wed, 19 Jun 2002 23:17:56 -0700
Newsgroups gmane.comp.windows.devel.dotnet.general
Message-ID <DOTNET%[email protected]>
Hi folks,

I need your help to settle a debate with my coworkers.

We are developing yet another n-tier application :-) and keeping in step
with the latest MS trend, we have the Biz Facade Layer, Biz Layer, Data
Access layer, et all. We have only a single database.

Basically, inspite of the fancy names, the Data Access Layer objects are
are just simple classes that return DataSets by calling stored procedures.
The Biz Layer objects call the Data Access Layers objects to access the
database.

Now here's the basic question:

a) Does it make sense to make both the Biz Layer objects and the Data
Access Layer COM+ components (mind you, they are classes consisting of a
few lines each!!!)? To me it makes no sense as the Biz Layer initiates the
transaction (Transaction.Required) and the data access layer merely
enrolls in it by using the Transaction.Supported attribute. My coworkers
claim the calling DoComplete() on the DataAccess layer releases the data
connection, but this does not make sense to me as the transaction is
initiated by the Biz layer and the connection cannot be released until the
Biz Layer calls SetComplete().

b) Do all COM+ objects in an AppDomain that share the same transaction
reside in the same context? If not, then there is certainly a performance
penalty associated with accessing one context bound object from another
(i.e., the Data Access Layer from the Biz Layer).

Atul

You can read messages from the DOTNET archive, unsubscribe from DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.