Microsoft Transaction Server COM

Download Report

Transcript Microsoft Transaction Server COM

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.
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
40%
30%
Yes (85%)
20%
10%
No (15%)
0%
Co Pil De Ne Be Fu Un
ns ot vel ar gin lly kn
ide Pr op De ni D ow
rin oje me plo ng epl n
ct nt ym De oye
g
en ploy d
t
me
nt
Success Factor:
Your Choice of Languages
Programmer Population
Language Use with MTS
Millions
100%
3.0
80%
60%
2.0
40%
1.0
20%
0%
0.0
VB
C/C++
Java
Cobol
VB
C++
Java
O ther
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)