Microsoft Transaction Server COM Jim Lyon HPTS 99

  • Slides: 11
Download presentation
Microsoft Transaction Server COM + Jim Lyon HPTS ’ 99

Microsoft Transaction Server COM + Jim Lyon HPTS ’ 99

COM Overview • Original goal: allow code from different organizations to cooperate inside a

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. $1 billion market in third-party objects. On every windows system, and some others.

COM Overview • Basic concept: interface pointer – Expresses function signature contract and some

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

COM Overview • COM is a binary, runtime standard: – Interface pointer: 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,

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:

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

MTS Services • • • Security (access control, auditing) Serialization Transactions Object lifetime Others • Model largely copied by EJB.

MTS is Winning Does your organization use MTS? Yes (85%) No (15%) Project Phases

MTS is Winning Does your organization use MTS? Yes (85%) No (15%) Project Phases

Success Factor: Your Choice of Languages Programmer Population Language Use with MTS

Success Factor: Your Choice of Languages Programmer Population Language Use with MTS

Other Success Factors • Microsoft is focused on making it work. • Consortia are

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

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)