110 likes | 275 Views
Microsoft Transaction Server COM +. Jim Lyon HPTS ’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.
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)