Presentation on theme: "Microsoft Transaction Server COM + Jim Lyon HPTS 99."— Presentation transcript:
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 –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 Yes (85%) No (15%) Does your organization use MTS?Project Phases
Success Factor: Your Choice of Languages Programmer PopulationLanguage 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)