COM+.... why?

  • Thread starter Thread starter nico1469
  • Start date Start date
N

nico1469

Hello all,

My project has many layers - SI (sevice component), Orc
(Orchestration), BL &DAL. Nowdays i'm using com+ for every layer (Si
is a service component, others are plain library components - without
using setabort/setcomplete.
My question is - why should i use com+ other then for the si? will
com+
slow the performance of the application (or maybe accelerate it
(pooled?) -
help would be much appreciated !


Nico
 
Firstly, yes COM+ will slow down writes to the database. COM+ is about 50%
slower than using ADO transactions. However there are reasons for using COM+

1. The system accesses multiple databases - In order to transactionally
write to multiple databases you must use COM+ and its two phase commit. COM+
uses the Distributed Transaction Coordinator service to ensure that all
writes go through to both databases or neither database.

2. Easier security model - If you want to secure your business and/or data
layer components and be able to change the permissions after you have
deployed, then COM+ is far nicer. I have developed a work around so that I
do not have to use COM+, but it is not nearly as easy as using the COM+
catalog.

3. Object pooling - Granted, there are ways of getting the same effect
without COM+'s pooling.

4. Queued Components


The problem with COM+, among other things, is that it makes deployment
significantly more difficult. Exponentially so if you are deploying a COM+
solution to the users desktop (i.e. not remoting everything so that COM+ is
only needed on the server).



HTH,


Thomas
 
Back
Top