473,654 Members | 3,114 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

.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 1746
..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****@discuss ions.microsoft. com> wrote in message
news:BF******** *************** ***********@mic rosoft.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,singl ecall 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**********@a giltech.gr> wrote in message
news:O5******** ******@TK2MSFTN GP14.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****@discuss ions.microsoft. com> wrote in message
news:BF******** *************** ***********@mic rosoft.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******** ******@TK2MSFTN GP12.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,singl ecall 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**********@a giltech.gr> wrote in message
news:O5******** ******@TK2MSFTN GP14.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****@discuss ions.microsoft. com> wrote in message
news:BF******** *************** ***********@mic rosoft.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**********@a giltech.gr> wrote in message
news:#v******** ******@TK2MSFTN GP11.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******** ******@TK2MSFTN GP12.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,singl ecall
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**********@a giltech.gr> wrote in message
news:O5******** ******@TK2MSFTN GP14.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****@discuss ions.microsoft. com> wrote in message
news:BF******** *************** ***********@mic rosoft.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.Enterpri seService.Servi cedComponent 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******** ******@TK2MSFTN GP11.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**********@a giltech.gr> wrote in message
news:#v******** ******@TK2MSFTN GP11.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******** ******@TK2MSFTN GP12.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,singl ecall

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**********@a giltech.gr> wrote in message
news:O5******** ******@TK2MSFTN GP14.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****@discuss ions.microsoft. com> wrote in message
> news:BF******** *************** ***********@mic rosoft.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
8700
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 company sell any 'extra' inventory to any authorized user via the internet. The users could log in, view the inventory available, and make a bid on any of the inventory available. At the end of the day, the highest bidder 'wins' that inventory and...
8
2253
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 effects are frowned upon. Coroutines, in contrast, are like split functions where side effects are often as important or more important than return values. I am currently writing a real time strategy game where I have visual effects and use...
5
6819
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 understand the differences between ASP JavaScript and ASP VBScript?? Because JavaScript is client-side technology, and ASP is server side technology. I think VBScript is used to implement ASP pages.
6
349
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 far I have not found much useful information.
40
3163
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 Java-Applet, compile it, debug it, and put it as a class on an HTML (like Java-Applet). I would like to introduce to the dot net technology. Give me some samples, please, and a comparation to Java-Applet technology.
3
3437
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 Studio.NET Enterprise Architect Edition.
21
1228
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 equivalent (C++, C# .net)?
8
1254
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 good example. I'm planning to add a customer system.timer to run that should be accessible from several forms so I don't want to use the forms timer. Should I add this to a new class or new component? Thanks,
25
1935
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 run both versions both in the IDE and as standalone compiled exe and see what the difference in time to complete was. The utility has to read 3842 single page Excel Sheets that contain a block of data 12 rows deep and 55 columns across, this...
80
2263
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 users having to install the .Net framework before using the product. They want to "minimize any barriers to acceptance". If .Net 1.1 and .Net 2.0 both require a reboot, then that issue is moot, unless a lot more people have .Net 1.1 installed.
0
8294
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8816
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8709
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8494
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
1
6162
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 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 a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5627
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4297
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
1924
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
2
1597
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.