Microsoft Transaction Server COM + Jim Lyon HPTS 99.

11
Microsoft Transaction Server COM + Jim Lyon HPTS ’99

Transcript of Microsoft Transaction Server COM + Jim Lyon HPTS 99.

Page 1: Microsoft Transaction Server COM + Jim Lyon HPTS 99.

Microsoft Transaction ServerCOM +

Jim LyonHPTS ’99

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

Page 3: Microsoft Transaction Server COM + Jim Lyon HPTS 99.

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.

Page 4: Microsoft Transaction Server COM + Jim Lyon HPTS 99.

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.

Page 5: Microsoft Transaction Server COM + Jim Lyon HPTS 99.

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.

Page 6: Microsoft Transaction Server COM + Jim Lyon HPTS 99.

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.

Page 7: Microsoft Transaction Server COM + Jim Lyon HPTS 99.

MTS Services

• Security (access control, auditing)

• Serialization

• Transactions

• Object lifetime

• Others

• Model largely copied by EJB.

Page 8: Microsoft Transaction Server COM + Jim Lyon HPTS 99.

MTS is Winning

Yes (85%)

No (15%)

Does your organization use MTS?

0%

10%

20%

30%

40%

Project Phases

Page 9: Microsoft Transaction Server COM + Jim Lyon HPTS 99.

Success Factor:Your Choice of Languages

0%

20%

40%

60%

80%

100%

VB C++ Java O ther0.0

1.0

2.0

3.0

Mil l ions

VB C /C++ Java Cobol

Programmer Population Language Use with MTS

Page 10: Microsoft Transaction Server COM + Jim Lyon HPTS 99.

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”)

Page 11: Microsoft Transaction Server COM + Jim Lyon HPTS 99.

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)