ArticleslgStudy

computer science

Microsoft Transaction Server

Microsoft Transaction Server is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Microsoft Transaction Server rather than just read about it. In short: Microsoft Transaction Server (MTS) was software that provided services to Component Object Model (COM) software components, to make it easier to create large distributed applications. The major services provided by MTS were automated transaction management, instance management (or just-in-time activation) and role-based security.

Key takeaways

  • Microsoft Transaction Server belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Microsoft Transaction Server to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Microsoft Transaction Server from memory before moving on to harder problems.

Reference excerpt

Microsoft Transaction Server (MTS) was software that provided services to Component Object Model (COM) software components, to make it easier to create large distributed applications. The major services provided by MTS were automated transaction management, instance management (or just-in-time activation) and role-based security. MTS is considered to be the first major software to implement aspect-oriented programming. MTS was first offered in the Windows NT 4.0 Option Pack. In Windows 2000, MTS was enhanced and better integrated with the operating system and COM, and was renamed COM+. COM+ added object pooling, loosely-coupled events and user-defined simple transactions (compensating resource managers) to the features of MTS. COM+ is still provided with Windows Server 2003 and Windows Server 2008, and the Microsoft .NET Framework provides a wrapper for COM+ in the EnterpriseServices namespace. The Windows Communication Foundation (WCF) provides a way of calling COM+ applications with web services. However, COM+ is based on COM, and Microsoft's strategic software architecture is now web services and .NET, not COM. There are pure .NET-based alternatives for many of the features provided by COM+, and in the long term it is likely COM+ will be phased out.

Architecture A basic MTS architecture comprises:

the MTS Executive (mtxex.dll) the Factory Wrappers and Context Wrappers for each component the MTS Server Component MTS clients auxiliary systems like: COM runtime services the Service Control Manager (SCM) the Microsoft Distributed Transaction Coordinator (MS-DTC) the Microsoft Message Queue (MSMQ) the COM-Transaction Integrator (COM-TI) etc. COM components that run under the control of the MTS Executive are called MTS components. In COM+, they are referred to as COM+ Applications. MTS components are in-process DLLs. MTS components are deployed and run in the MTS Executive which manages them. As with other COM components, an object implementing the IClassFactory interface serves as a Factory Object to create new instances of these components. MTS inserts a Factory Wrapper Object and an Object Wrapper between the actual MTS object and its client. This interposing of wrappers is called interception. Whenever the client makes a call to the MTS component, the wrappers (Factory and Object) intercept the call and inject their own instance-management algorithm called the Just-In-Time Activation (JITA) into the call. The wrapper then makes this call on the actual MTS component. Interception was considered difficult at the time due to a lack of extensible metadata. In addition, based on the information from the component's deployment properties, transaction logic and security checks also take place in these wrapper objects. For every MTS-hosted object, there also exists a Context Object, which implements the IObjectContext interface. The Context Object maintains specific information about that object, such as its transactional information, security information and deployment information. Methods in the MTS component call into the Context Object through its IObjectContext interface. MTS does not create the actual middle-tier MTS object until the call from a client reaches the container. Since the object is not always running, it does not use up many system resources (even though an object wrapper and skeleton for the object do persist). As soon as the call comes in from the client, the MTS wrapper process activates its Instance Management algorithm called JITA. The actual MTS object is created "just in time" to service the request from the wrapper. And when the request is serviced and the reply is sent back to the client, the component either calls SetComplete()/SetAbort(), or its transaction ends, or the client calls Release() on the reference to the object, and the actual MTS object is destroyed. In short, MTS uses a stateless component model. Generally, when a client requests services from a typical MTS component, the following sequence occurs on the server :

acquire a database connection read the component's state from either the Shared Property Manager or from an already existing object or from the client perform the business logic write the component's changed state, if any, back to the database close and release the database connection vote on the result of the transaction. MTS components do not directly commit transactions, rather they communicate their success or failure to MTS. It is thus possible to implement high-latency resources as asynchronous resource pools, which should take advantage of the stateless JIT activation afforded by the middleware server.

References

External links and references Quick Tour of Microsoft Transaction Server

Worked examples

Example 1 — a first encounter with Microsoft Transaction Server

Start with the simplest possible case. Write down what Microsoft Transaction Server claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Microsoft Transaction Server before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Microsoft Transaction Server ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Microsoft Transaction Server

In research
Microsoft Transaction Server appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Microsoft Transaction Server in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Microsoft Transaction Server is common in secondary-school and first-year university syllabi. It links to neighbouring topics Component-based software engineering, Inter-process communication, Microsoft application programming interfaces, so understanding it makes those chapters shorter.
In everyday life
Look for Microsoft Transaction Server outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Microsoft Transaction Server in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Microsoft Transaction Server means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Microsoft Transaction Server out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Microsoft Transaction Server in simple terms?

Microsoft Transaction Server (MTS) was software that provided services to Component Object Model (COM) software components, to make it easier to create large distributed applications. The major services provided by MTS were automated transaction management, instance management (or just-in-time acti…

Why does Microsoft Transaction Server matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Microsoft Transaction Server?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Microsoft Transaction Server.

Tags

  • Component-based software engineering
  • Inter-process communication
  • Microsoft application programming interfaces
  • Transaction processing
  • Windows communication and services
  • Windows components

Keep exploring