Microsoft Transaction Server: Why Care?
More than Just Transactions
David Vaskevitch
Vice President, Database and Transaction Systems
Microsoft Corporation
Transactions are so important that is easy to think of Microsoft® Transaction Server (MTS) as being just about transactions. Yet, important as they are, the other benefits of MTS are perhaps even more important. Transactions alone, while critical, could easily be packaged only in the operating system. Considered as a whole, though, MTS represents more than an engine—it virtually represents a platform shift in its own right. Just as the Microsoft Windows® operating system helped redefine the desktop, Microsoft Transaction Server will help redefine the server.
Microsoft Transaction Server Benefits
-
Simplified server programming. For years people have talked about client/server. But the truth has been that even with supposedly simple facilities like remote procedure calls (RPC) and named pipes, the possibility of writing server-based applications that interact with desktop-based applications has remained tantalizingly just out of reach for most developers. Part of the reason for the huge success of T-SQL triggers, despite the limitations of that language and environment, is that it does make writing server-based code relatively easy. Now, for the first time, MTS brings it all together—most professional programmers can write true client/server applications. And, the Web simply magnifies the importance of that advance. Transactions are part of that advance, but only a part.
-
Distributed applications framework. Even harder than writing client/server applications, building distributed applications is still viewed by most developers as being out of visible reach. Beginning with the Microsoft Distributed Transaction Coordinator (DTC), and building with MTS, distributed applications are not that much harder to write than nondistributed applications. Simple to use, real-enough-time semantics—already important in the distributed case—become totally critical in the connectionless Internet environment. Transactions are part of that advance, but only a part.
-
Components. Components are a way of packaging applications, extending applications, and providing true Plug and Play. Another holy grail, and also always just out of reach. MTS makes it real. Again, transactions are part of this, but only a part.
-
Scalability. Commodity clusters. Geographical distribution. Both are beautiful scaling solutions. MTS provides the simple framework for building applications that can scale. Historically, you had to use a TP monitor and either pick up complexity, or not scale. And, even if you used the monitor, you didn't get geographical distribution-based scaling. Now Microsoft provides both. Also, the Internet only makes that more important. And, again, transactions are a big part of that, but only a part.
-
Transactions. Transactions are mainstream. People do transactions every day. Computers are behind the scenes processing most of those transactions. Every phone call results in a billing transaction. Every time you buy gas, shop at a supermarket, book a plane trip, check a book out at the library, reserve a theater seat, make a kennel reservation—all day every day, you are doing transactions. One of the consequences of the Internet is to increase the need for transactions even more. Once you've been exposed to a site that exposes transactions directly, nothing is more frustrating than to visit another site that talks about products and services but doesn't let you buy them directly. So, people everywhere are increasingly expecting to execute transactions from their desktop, notebook, handheld computer, from home, car, office, and cottage. Talk about mainstream. Our lives cannot be made simpler without transactions. How can I make a dentist appointment after hours if my computer can't coordinate a transaction with the dentist's computer? In the long run, transaction platforms will be as important as operating systems have been. So, yes, last but not least, MTS is about transactions, too.
A Distributed Application Server
What is Microsoft Transaction Server? A distributed application server; the engine that, added to an operating system, database, and desktop, finally makes server-based applications really practical; the catalyst to a platform shift—that's Microsoft Transaction Server.