110 likes | 224 Vues
This overview delves into Microsoft Transaction Server (MTS) and Component Object Model (COM) technology, highlighting their evolution since circa 1990. MTS aims to facilitate easy creation of OLTP applications, enabling code cooperation across different organizations using various languages and compilers. With a massive $1 billion market in third-party objects, COM provides a binary, runtime standard that promotes interface-focused development. The text covers the significance of distributed computing via proxy/stub technology and emphasizes the importance of language choice and integration within large systems.
E N D
Microsoft Transaction ServerCOM + Jim LyonHPTS ’99
COM Overview • Original goal: allow code from different organizations to cooperate inside a process. • Different compilers. • Different languages. • Different release schedules. • Wildly successful: • Introduced circa 1990. • Underlies OLE. • $1billion market in third-party objects. • On every windows system, and some others.
COM Overview • Basic concept: interface pointer • Expresses function signature contract and some semantics. • Similar to Java interface. • Each object implements 1 or more interfaces. • Dynamically discoverable. • Single inheritance of interface definitions.
COM Overview • COM is a binary, runtime standard: • Interface pointer: a pointer to a pointer to an array of pointers to functions. • Completely neutral to language or runtime environment. • Supported from C, C++, VB, Cobol, Java, and various interpreters, and a host of third-party environments.
COM Evolution • Distributed COM (1995) • Put clients and servers on different machines, via proxy/stub technology. • MTS (1996, 1998), COM+ (2000) • Add declarative behavior to server objects.
MTS, COM+ • Goal: Make it easy to create OLTP applications. • Design points: • Allow programmer to think serially • Leave the multithreading to us • Get system services declaratively.
MTS Services • Security (access control, auditing) • Serialization • Transactions • Object lifetime • Others • Model largely copied by EJB.
MTS is Winning Does your organization use MTS? Project Phases Yes (85%) No (15%)
Success Factor:Your Choice of Languages Programmer Population Language Use with MTS
Other Success Factors • Microsoft is focused on making it work. • Consortia are frequently focused on: • Getting a spec published. • Ensuring that no competitor gets an advantage. • Trying to fight a common enemy. • Religion (“write once, debug everywhere”)
Other Success Factors • Integration • Push the ORB into the OS. • Push the Web Server into the OS. • Evolution “Every large system that works has evolved from a small system that worked.” (Fred Brooks)