Eugene Leitl wrote:
> So tell us, why and how is COM+ better than MPI or PVM, or any of the
> newer funky userland active-messages efforts. Stability? Availability?
> Throughput? Latency?
and Mike Linksvayer wrote:
> Hand-code what? Use CORBA. From my limited vantage point, forget about
> COM and CORBA, Windows and Unix. Write everything in Java (now there's
> a real cost savings vs. C++), abstract your transport, and you can easily
> plug into COM, CORBA, some fancy message queue, or whatever, easily.
Well, I can see some of us haven't been keeping up with what's happening on
the other side of the fence.
The DCOM standard is pretty much comparable to CORBA or JavaBeans -
preferences between them will have more to do with personal taste and
OS/language ideology than anything real. However, there is a *lot* more to
COM+ than just DCOM.
First off, you get a run-time environment for your components (this used to
be called MTS) that handles all your cross-process communications and
networking issues for you. It also does component pooling (so thousands of
clients can share a few hundred component instances), connection pooling
(so hundreds of components can share a few dozen database connections), and
distributed transaction management (so components can participate in
transactions that span multiple applications and multiple database servers).
All of these features are automated to the point that you can actually use
them in VB code, and the most complicated thing the component programmer
ever has to do is invoke a 'commit/roll back transaction' method.
Also, the system is very tightly integrated with lots of neat OS features.
You get dynamic load balancing across an arbitrary number of servers without
any programming, you can invoke components from scripting code on a web
server, you can configure security on components the same way you would
secure a file, etc.
Plus, they give you all that automation without preventing you from doing
things a different way. I can write a quick VB component if their
automation does what I want (which it generally does), or I can write it in
C++ and build my own resource dispensers, do security checks
programmatically, control how the component is pooled, and so on.
As for Eugene's performance questions, the answers are yes. COM+ on Windows
2000 delivers the same high stability, fast performance and high
availability as competing Unix-based standards. It also offers much better
scalability than most offerings, thanks to that dynamic load balancing
feature. I've even implemented a couple of components that let you make
major changes to the database while the system is running.
Now, I'll readily concede that this isn't what you want to use for
high-performance scientific simulations, but that's because what you want
there is a naked CPU and a bunch of hand-coded assembler. For anything else
(and in particular, for the database-oriented apps that constitute the vast
majority of business software) there is nothing around that is comparable.
Billy Brown
bbrown@transcient.com
This archive was generated by hypermail 2b29 : Thu Jul 27 2000 - 14:05:01 MDT