473,326 Members | 2,136 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,326 software developers and data experts.

.Net versus COM+ components

What is the general difference between .Net and COM+ components? When is one
better than the other? Where can I find information about the similarities
and differences? I have browsed msdn but so far I have not found much useful
information.
Nov 22 '05 #1
6 1728
..NET classes are regular objects. They live in the same process with their
caller, and that's that.

COM+ Components offer some more advanced functionality, for instance:

1) Transactions. Imagine a process that needs to get some data through say 5
objects for processing. If one of them fails, you don't want to "save" the
changes the ones before it have made, and you don't want to process the data
any further. COM+ will allow you to do that ( in simple terms )

2) Clustering/Load Balancing: In cases of high loads, the container can pool
instances of your object, even in different machines, and re-use them. That
saves you a lot of instantiation overhead.

3) Synchronization: You can define how your object is accessed from
different caller threads.

COM+ will give you all that, with an added overhead in coding & complexity.
It takes a while to get acquainted with all it's little idiosyncracies &
tricks. In addition, you can create COM+ components using .NET relatively
easily.

In any case that you absolutely need all the above, COM+ will do the trick
for you. If you want to develop something simple that will not have to
process thousands of requests in 3 milliseconds ( I wish !), go for
plain-old-.NET-objects.

Angel
O:]

"Robert" <Ro****@discussions.microsoft.com> wrote in message
news:BF**********************************@microsof t.com...
What is the general difference between .Net and COM+ components? When is one better than the other? Where can I find information about the similarities
and differences? I have browsed msdn but so far I have not found much useful information.

Nov 22 '05 #2
Hi Angelos,

I read your reply on COM+ .NET comparison. One of the points actually
conflicts with my idea on this..
like..
- you ahve written that .net classes are instantiated in the same
process as that of the caller.
But actually we can have both in process and out of process componets as
we have in COM (some keywords client activated, singleton,singlecall etc),
but here the things are lil bit differnet becasue there is some thing like
application domain ...which is not actually equivalent to a process. ANyway
the objects need not always be in the same process as that of the
caller.(Details i think we can get from MSDN)

Angelos, if i am wrong, correct me.

regards
Sujith S.Varier

"Angelos Karantzalis" <ak**********@agiltech.gr> wrote in message
news:O5**************@TK2MSFTNGP14.phx.gbl...
.NET classes are regular objects. They live in the same process with their
caller, and that's that.

COM+ Components offer some more advanced functionality, for instance:

1) Transactions. Imagine a process that needs to get some data through say 5 objects for processing. If one of them fails, you don't want to "save" the
changes the ones before it have made, and you don't want to process the data any further. COM+ will allow you to do that ( in simple terms )

2) Clustering/Load Balancing: In cases of high loads, the container can pool instances of your object, even in different machines, and re-use them. That saves you a lot of instantiation overhead.

3) Synchronization: You can define how your object is accessed from
different caller threads.

COM+ will give you all that, with an added overhead in coding & complexity. It takes a while to get acquainted with all it's little idiosyncracies &
tricks. In addition, you can create COM+ components using .NET relatively
easily.

In any case that you absolutely need all the above, COM+ will do the trick
for you. If you want to develop something simple that will not have to
process thousands of requests in 3 milliseconds ( I wish !), go for
plain-old-.NET-objects.

Angel
O:]

"Robert" <Ro****@discussions.microsoft.com> wrote in message
news:BF**********************************@microsof t.com...
What is the general difference between .Net and COM+ components? When is

one
better than the other? Where can I find information about the similarities and differences? I have browsed msdn but so far I have not found much

useful
information.


Nov 22 '05 #3
You mean that if i create a class MyClass, put it in a class library
(assembly DLL) and have the assembly referenced from another project, where
the code is like:

MyClass obj = new MyClass();

... I can specify in advance what process this class instance will run in ?

That sounds a bit weird to me. This is functionality provided by COM & COM+,
no ? Perhaps you mean .NET COM+ components ? Your suggestion is something
new to me :?

Angel
O:]
"Sujith S. Varier" <su******@gmail.com> wrote in message
news:uk**************@TK2MSFTNGP12.phx.gbl...
Hi Angelos,

I read your reply on COM+ .NET comparison. One of the points actually
conflicts with my idea on this..
like..
- you ahve written that .net classes are instantiated in the same
process as that of the caller.
But actually we can have both in process and out of process componets as we have in COM (some keywords client activated, singleton,singlecall etc),
but here the things are lil bit differnet becasue there is some thing like
application domain ...which is not actually equivalent to a process. ANyway the objects need not always be in the same process as that of the
caller.(Details i think we can get from MSDN)

Angelos, if i am wrong, correct me.

regards
Sujith S.Varier

"Angelos Karantzalis" <ak**********@agiltech.gr> wrote in message
news:O5**************@TK2MSFTNGP14.phx.gbl...
.NET classes are regular objects. They live in the same process with their
caller, and that's that.

COM+ Components offer some more advanced functionality, for instance:

1) Transactions. Imagine a process that needs to get some data through say
5
objects for processing. If one of them fails, you don't want to "save"

the changes the ones before it have made, and you don't want to process the

data
any further. COM+ will allow you to do that ( in simple terms )

2) Clustering/Load Balancing: In cases of high loads, the container can

pool
instances of your object, even in different machines, and re-use them.

That
saves you a lot of instantiation overhead.

3) Synchronization: You can define how your object is accessed from
different caller threads.

COM+ will give you all that, with an added overhead in coding &

complexity.
It takes a while to get acquainted with all it's little idiosyncracies &
tricks. In addition, you can create COM+ components using .NET relatively easily.

In any case that you absolutely need all the above, COM+ will do the trick for you. If you want to develop something simple that will not have to
process thousands of requests in 3 milliseconds ( I wish !), go for
plain-old-.NET-objects.

Angel
O:]

"Robert" <Ro****@discussions.microsoft.com> wrote in message
news:BF**********************************@microsof t.com...
What is the general difference between .Net and COM+ components? When
is one
better than the other? Where can I find information about the

similarities and differences? I have browsed msdn but so far I have not found much

useful
information.



Nov 22 '05 #4
I mean we have the provision to get a reference to an instance of a class
which is being instantiated in another process.
i ahve a class, I want to invoke a method in a class in another assembly,
let it be in a diffeerent machine, i want to get it executed there and only
the return value is of my interest, then, the only way here would be to
instantiate the class in a process running there. We should get a reference
to the instance, actually a proxy would be present at the client..I think u
got the point, i am talking abt Remoting. Exaclty the way DCOM was being
used.

regards
Sujith S. Varier

"Angelos Karantzalis" <ak**********@agiltech.gr> wrote in message
news:#v**************@TK2MSFTNGP11.phx.gbl...
You mean that if i create a class MyClass, put it in a class library
(assembly DLL) and have the assembly referenced from another project, where the code is like:

MyClass obj = new MyClass();

.. I can specify in advance what process this class instance will run in ?

That sounds a bit weird to me. This is functionality provided by COM & COM+, no ? Perhaps you mean .NET COM+ components ? Your suggestion is something
new to me :?

Angel
O:]
"Sujith S. Varier" <su******@gmail.com> wrote in message
news:uk**************@TK2MSFTNGP12.phx.gbl...
Hi Angelos,

I read your reply on COM+ .NET comparison. One of the points actually
conflicts with my idea on this..
like..
- you ahve written that .net classes are instantiated in the same
process as that of the caller.
But actually we can have both in process and out of process componets
as
we have in COM (some keywords client activated, singleton,singlecall
etc), but here the things are lil bit differnet becasue there is some thing like application domain ...which is not actually equivalent to a process.

ANyway
the objects need not always be in the same process as that of the
caller.(Details i think we can get from MSDN)

Angelos, if i am wrong, correct me.

regards
Sujith S.Varier

"Angelos Karantzalis" <ak**********@agiltech.gr> wrote in message
news:O5**************@TK2MSFTNGP14.phx.gbl...
.NET classes are regular objects. They live in the same process with their caller, and that's that.

COM+ Components offer some more advanced functionality, for instance:

1) Transactions. Imagine a process that needs to get some data through say
5
objects for processing. If one of them fails, you don't want to "save"

the changes the ones before it have made, and you don't want to process the data
any further. COM+ will allow you to do that ( in simple terms )

2) Clustering/Load Balancing: In cases of high loads, the container
can
pool
instances of your object, even in different machines, and re-use them.

That
saves you a lot of instantiation overhead.

3) Synchronization: You can define how your object is accessed from
different caller threads.

COM+ will give you all that, with an added overhead in coding &

complexity.
It takes a while to get acquainted with all it's little idiosyncracies

& tricks. In addition, you can create COM+ components using .NET

relatively easily.

In any case that you absolutely need all the above, COM+ will do the trick for you. If you want to develop something simple that will not have to
process thousands of requests in 3 milliseconds ( I wish !), go for
plain-old-.NET-objects.

Angel
O:]

"Robert" <Ro****@discussions.microsoft.com> wrote in message
news:BF**********************************@microsof t.com...
> What is the general difference between .Net and COM+ components? When is
one
> better than the other? Where can I find information about the

similarities
> and differences? I have browsed msdn but so far I have not found

much useful
> information.



Nov 22 '05 #5
It is common misconception that .NET and COM+ are contrary to each other
infact .NET and COM+ are two different things. As .NET components runs on CLR
and gets thr runtime featurs of CLR but COM+ is just an enhancement of
MTS,DCOM and MSMQ with some new feature. Just it gives you neccessary
infrastructure to the component so the developer can concentrate on the
application logic rather than infrastructure.This infrastructure including
automatic transaction, object pooling, Just-in-time activation etc This
infrastructure can be used by COM or .NET dlls. In .NET , if you want to use
it , you have to inherit your class from
System.EnterpriseService.ServicedComponent class and register your assembly
through Regasm tool.

"Robert" wrote:
What is the general difference between .Net and COM+ components? When is one
better than the other? Where can I find information about the similarities
and differences? I have browsed msdn but so far I have not found much useful
information.

Nov 22 '05 #6
ooohhhh .. I see. Well, Remoting is another ballgame altogether ( I kinda
like it though, since I started out as a Java/CORBA & Java/RMI boy in my
Distributed computing adventures, but I certainly wouldn't use it unless I
definitely had to ... )

Angel
O:]
"Sujith S. Varier" <su******@gmail.com> wrote in message
news:#U**************@TK2MSFTNGP11.phx.gbl...
I mean we have the provision to get a reference to an instance of a class
which is being instantiated in another process.
i ahve a class, I want to invoke a method in a class in another assembly,
let it be in a diffeerent machine, i want to get it executed there and only the return value is of my interest, then, the only way here would be to
instantiate the class in a process running there. We should get a reference to the instance, actually a proxy would be present at the client..I think u got the point, i am talking abt Remoting. Exaclty the way DCOM was being
used.

regards
Sujith S. Varier

"Angelos Karantzalis" <ak**********@agiltech.gr> wrote in message
news:#v**************@TK2MSFTNGP11.phx.gbl...
You mean that if i create a class MyClass, put it in a class library
(assembly DLL) and have the assembly referenced from another project, where
the code is like:

MyClass obj = new MyClass();

.. I can specify in advance what process this class instance will run in ?

That sounds a bit weird to me. This is functionality provided by COM &

COM+,
no ? Perhaps you mean .NET COM+ components ? Your suggestion is something new to me :?

Angel
O:]
"Sujith S. Varier" <su******@gmail.com> wrote in message
news:uk**************@TK2MSFTNGP12.phx.gbl...
Hi Angelos,

I read your reply on COM+ .NET comparison. One of the points actually conflicts with my idea on this..
like..
- you ahve written that .net classes are instantiated in the same
process as that of the caller.
But actually we can have both in process and out of process componets
as
we have in COM (some keywords client activated, singleton,singlecall

etc), but here the things are lil bit differnet becasue there is some thing like application domain ...which is not actually equivalent to a process.

ANyway
the objects need not always be in the same process as that of the
caller.(Details i think we can get from MSDN)

Angelos, if i am wrong, correct me.

regards
Sujith S.Varier

"Angelos Karantzalis" <ak**********@agiltech.gr> wrote in message
news:O5**************@TK2MSFTNGP14.phx.gbl...
> .NET classes are regular objects. They live in the same process with

their
> caller, and that's that.
>
> COM+ Components offer some more advanced functionality, for instance: >
> 1) Transactions. Imagine a process that needs to get some data through say
5
> objects for processing. If one of them fails, you don't want to
"save"
the
> changes the ones before it have made, and you don't want to process

the data
> any further. COM+ will allow you to do that ( in simple terms )
>
> 2) Clustering/Load Balancing: In cases of high loads, the container can pool
> instances of your object, even in different machines, and re-use
them. That
> saves you a lot of instantiation overhead.
>
> 3) Synchronization: You can define how your object is accessed from
> different caller threads.
>
> COM+ will give you all that, with an added overhead in coding &
complexity.
> It takes a while to get acquainted with all it's little idiosyncracies & > tricks. In addition, you can create COM+ components using .NET

relatively
> easily.
>
> In any case that you absolutely need all the above, COM+ will do the

trick
> for you. If you want to develop something simple that will not have
to > process thousands of requests in 3 milliseconds ( I wish !), go for
> plain-old-.NET-objects.
>
> Angel
> O:]
>
> "Robert" <Ro****@discussions.microsoft.com> wrote in message
> news:BF**********************************@microsof t.com...
> > What is the general difference between .Net and COM+ components?

When
is
> one
> > better than the other? Where can I find information about the
similarities
> > and differences? I have browsed msdn but so far I have not found

much > useful
> > information.
>
>



Nov 22 '05 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: Kevin | last post by:
Hi! I recently completed a graduate level Java class at a local university. For our class project my group built a web-based application. Basically, the application would let a manufacturing...
8
by: Timothy Fitz | last post by:
It seems to me that in python, generators are not truly coroutines. I do not understand why. What I see is that generators are used almost exclusively for generation of lists just-in-time. Side...
5
by: John Davis | last post by:
When I create new documents in Dreamweaver, there are several choices for ASP creation: ASP JavaScript: run at client side?? ASP VBScript: run at server side?? ASP.NET C# ASP.NET VB I don't...
6
by: Robert | last post by:
What is the general difference between .Net and COM+ components? When is one better than the other? Where can I find information about the similarities and differences? I have browsed msdn but so...
40
by: Eitan | last post by:
Hello, I know Java-Applet (written for JBuilder). I would like to know about dotnet technology, pros and cons in comparation to Java-Applet technololgy. Can I write a program in dotnet, like...
3
by: Maur | last post by:
I have Office XP Pro and Developer Edition and SQL Server installed on my local development machine. Given the option of installing; Visual Studio 6.0 Enterprise Edition AND/OR Visual...
21
by: Robbie from Philippines | last post by:
Im a serious programmer and I know that programming is the path that i would take for the rest of my life. I use vb6. Since I have to study a new language should i go for vb.net or its c...
8
by: John Granade | last post by:
I'm sure this has been asked but after searching the Internet, I just can find a clear answer. When should you add a component versus a class to you Windows Forms application? The timer is a...
25
by: Siv | last post by:
Hi, As part of an evaluation of a small utility that I wrote that converts some data held in a large number of Excel spreadsheets into SQL Server, I decided to convert the utility to VB .NET and...
80
by: RobinS | last post by:
I am working at a company that is going to publish a product on the market. The code is currently in .Net 1.1. The developers would like to migrate it to .Net 2.0. Management has concerns about...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.