MTS is Microsoft's server side middleware for COM. It's sort
of like a CORBA orb, or object request broker. Where
OLEAUT32.DLL takes care of activating COM objects on a local
machine, MTS resides on a server. Client machines can connect to
the components residing there and make method calls on them. MTS
works with a distributed transaction coordinator, which helps manage
connections to databases.
ODBC and other types of database connection pooling mean that
you can connect to a database for just as much time as is necessary
to complete your query, and then release the connection back to
the pool, reducing the resource impact on the server. Microsoft
plans to get object pooling working as well, which means that MTS
will keep an object alive even if there aren't any calls being made to
it by client components, so that when calls are made, the overhead
of creating an instance of the object is saved.
So, this technology is sort of cool, but of course Microsoft
says that they invented (with their freedom to innovate) the whole thing, which of course is not
true. As far as I know, the OMG was designing CORBA before
Microsoft really got going on the COM thing, and of course there
were Lisp machines at MIT in the '60s that did this sort of
thing. What's a good (enterprise level good) set of software one can
use on Linux to get the same pooling advantages, especially with a
database such as PostgreSQL, but still be usable from Windows
clients? Either that, or a way for a Linux client to call a method on
a component running on an MTS server.